Give an agent a key it cannot misuse
An agent needs an API key to do its job. A key does not know what the job is, so it will do anything the key allows.
Hushgate sits between the agent and the service. You write a policy for the calls you want. Hushgate refuses the rest.
What it does
- A connector points at one service you reviewed. You set the address once, at
creation.
- A policy names the calls you want. Hushgate refuses anything else.
- A call you want to see first waits for you. Approve it, then the agent
sends it again.
- The upstream key is held inside a confidential VM. Hushgate cannot read it,
and neither can the agent.
Where the key lives
The gateway runs inside an AMD SEV-SNP confidential VM. Your workspace key is built inside that VM from your passkey and is erased when the process stops.
A restart locks the workspace. You unlock it with a passkey, and until you do, nothing forwards. Hushgate has no way to unlock it for you, and no way to read your data while it is locked.
You can check this yourself. The gateway answers a challenge with signed hardware evidence, and the verifier is in the source repository.
What you write
A policy is a list of rules in order. The first rule that matches decides the call. A call that matches no rule is refused.
{
"schema": "hushgate.policy/v1",
"revision": 1,
"connector_id": "conn_0123456789abcdef",
"rules": [
{ "id": "deny-keys", "effect": "deny", "match": { "path": { "prefix": "/v1/keys" } } },
{ "id": "allow-reads", "effect": "allow", "match": { "methods": ["GET"] } },
{ "id": "ask-writes", "effect": "ask", "match": { "methods": ["POST", "DELETE"] } }
]
}
The beta
One plan at USD 5 each month. The trial runs 14 days and needs a card. There are ten places, and the beta is invite only.
The beta is best effort. One confidential VM serves traffic, and a second is started by hand if the first one stops. There is no availability promise.
You can export your setup or delete your workspace at any time. Deletion destroys the current live workspace key and removes the live workspace. Encrypted historical data can remain in backups for up to 30 days. Storage expiry can finish later.