Fail closed
Where authentication or authorization can't be established, no tunnel is created. A tunnel without a verifiable credential is refused, and a policy that fails to parse is ignored in favour of the last good one.
SkiMasque's security model is based on minimizing standing network access.
Instead of a permanent credential that opens the network, an identity is checked against policy, receives a temporary session, and the session expires.
Standing access
No standing access
Only explicit matching access grants a session.
Access can be constrained by:
Bandwidth and connection limits apply to a whole policy, not to each session. The application name is session context, not proof: the gateway matches on it but does not treat it as authenticated, so policies are best written with the destination as the real constraint.
A valid tunnel credential alone does not open a tunnel. The gateway checks identity, application, destination, policy, and expiry itself, and all five must resolve to an allow.
Where authentication or authorization can't be established, no tunnel is created. A tunnel without a verifiable credential is refused, and a policy that fails to parse is ignored in favour of the last good one.
Identity, application, destination, policy and expiry are evaluated by the gateway, not assumed because a control plane said so.
Loopback, private, CGNAT, link-local (including the cloud metadata address) and multicast ranges are refused on the resolved address, so a hostname that resolves to one is still refused, unless a range was explicitly opted in.
A control-plane outage is designed to degrade management, not enforcement. The gateway keeps enforcing its cached policy while the control plane is unreachable, and verifies credentials locally.
Managed CI/developer credentials default to 15 minutes and are capped at 1 hour; standalone gateway credentials default to 1 hour. Clients refresh supported credentials. Agent sessions default to 30 minutes and are capped at 4 hours or a lower organisation limit. A copied bearer token can be used until expiry or applicable revocation; policy max_duration is not an enforced gateway timeout.
SkiMasque is pre-1.0 and has not had an independent security review. It should not yet be the only control in front of production infrastructure.
SkiMasque does not eliminate the customer's network boundary.
For customer-operated gateways:
Customers can continue to enforce their own network-level controls. The firewall decides what the gateway can reach at all; SkiMasque decides who may use that.
Each workload is granted the destinations its policy names. Everything else is denied.
Job A
Job B
Every access decision is designed to carry enough context to answer:
A gateway can write one JSON line per decision. A control-plane deployment ingests each gateway's hash-chained stream and rejects a break in the chain.