The problem
A prompt injection can trick an agent into leaking API keys through the target API itself.
An agent with raw keys can delete data, send messages, or make purchases with no human in the loop.
API responses can echo credentials back. Without sanitization, your agent now has the raw secret.
How it works
The agent sends X-TAP-Credential: slack and the target URL. It never sees the actual API key.
GET requests auto-approve. Writes go to your device for one-tap approval. You see the full request before it goes out.
The proxy injects real credentials, forwards the request, scrubs secrets from the response, and returns clean data to the agent.
Same skills, safer
Authorization: Bearer sk-live-a1b2c3d4e5f6...
X-Api-Target: slack.com/api/chat.postMessage X-TAP-Credential: slack
X-TAP-Target: slack.com/api/chat.postMessage Same skill, same API call. Swap the raw secret for a name. The proxy handles the rest.
Capabilities
Agents reference credentials by name. The proxy holds the secrets. Compromise the agent, the keys stay safe.
Auto-approve reads, require approval for writes. URL-pattern overrides for fine-grained control. Fail closed by default.
Scrubs credential values from API responses -- exact match, base64, and URL-encoded variants. Up to 10 MB.
Credentials in a tweet body or email subject? Rejected. Placeholders are only allowed in auth-position headers and fields.
Each team gets isolated credentials, agents, and policies. Agents can link across teams for multi-account access with scoped roles.
Direct injection for API keys. Sidecar routing for OAuth 1.0a, OAuth 2.0, and custom protocols. One interface for the agent.
Every request logged with agent ID, credential, approval status, upstream response, and latency. JSON lines for easy ingestion.
Run on Evervault hardware enclaves for encrypted memory and attestation. Managed hosting runs in enclaves by default.
Early access
Managed hosting runs in hardware enclaves with full Pro features—unlimited agents, unlimited credentials, multi-account, and passkey approval. Free during early access.
Or self-host right now — clone the repo
Open source (MIT). Managed hosting keeps your keys in hardware enclaves—no secrets on your machine. Or self-host for full control.
Sign up and add your API keys
Open the dashboard, create an account, and paste your API keys (OpenAI, GitHub, Slack — any service with a key or token).
Create an agent and copy the API key
Select which credentials the agent can access. The key is shown once.
Connect your agent
$ npx @nnsk/tap
# then tell your agent: /setup-tap