Keys management
The two keys in Sentisec — the workspace key your agents authenticate with, and the provider keys Sentisec forwards with on your behalf.
Sentisec has exactly two kinds of key, and conflating them is the most common setup mistake:
- Workspace key (
sk_sentisec_…) — the only secret your application carries; it identifies your app to this workspace. - Provider key — the vendor's key (Anthropic, OpenAI, and the rest), stored in Sentisec per workspace, per provider; your application never sees it.
You issue the first under Settings → API keys. You paste the second under Settings → Providers, in its Provider keys section. Both live in the dashboard.
Workspace API keys
A workspace API key looks like this:
sk_sentisec_a1b2c3d4_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxThe middle segment identifies the workspace and the last is the secret. Sentisec resolves your workspace from the key itself, so your client never has to pass a workspace id separately — it just goes wherever your agent normally puts a provider key.
Minting one
Go to Settings → API keys and click Issue key (it reads Issue
new key once the workspace has one). Give it a Name that says what
will use it (production-agent-1, ci-runner, laptop-claude-code),
leave Key audience default on its preset, Unspecified (omit), and
copy the value.
Minting is administrator-only.
What the list shows you
| Column | What it tells you |
|---|---|
| Name | The label you gave it, plus the key's id. |
| Key | A masked form ending in the real last four characters, so you can match a key on the list to a key in your secrets manager. |
| Created | When it was minted. |
| Last used | When a request last authenticated with it — or never. |
| Sessions (7d) | How much traffic it has actually carried recently. |
| Status | active or revoked. |
Last used and Sessions (7d) together answer the question you actually have when you find an old key: is anything still using this? A key that has never been used, or has not been used in weeks, is safe to revoke.
Rotating a key
Rotation is guided, because it touches live traffic:
Click Rotate on the key. Sentisec explains what is about to happen and waits for you to confirm.
Copy the new key. A replacement is issued, named after the original so the audit trail stays legible, with the same access, and its plaintext is shown once. The old key keeps working for 60 seconds so in-flight sessions do not break.
Swap the new key into your clients, then either let the countdown finish or click Revoke old key now.
Sentisec's servers enforce the end of that window, not your browser. The old key stops authenticating when the time is up, even if you close the tab mid-rotation.
If you realise mid-rotation that you are not ready, Keep old key active cancels the scheduled revocation: both keys stay valid, and you can revoke the old one from the list whenever you are ready. Once the window has passed, the old key is revoked for good.
To rotate from a script, call the API with the session token from Sentisec sign-in:
The rotate body is optional: {"grace_seconds": 300} sets the window,
from 0 (revoke the old key at once) to 3600; the default is 60. The
response carries the new key's plaintext, once, and the old key with the
time it stops working. Cancelling after that time returns
409 api_key_revoked. Every step is in the workspace's
audit log.
Revoking a key
Revoke takes effect immediately — requests using it stop authenticating. Revocation is permanent; there is no un-revoke. Mint a new key instead.
Scoping access
Sentisec does not put permissions on individual keys. The isolation boundary is the workspace: a key can only reach the workspace it was minted in, and everything that workspace's settings allow. To give a team, an environment, or a customer a different blast radius, give them their own workspace. See workspace controls.
Provider keys
These are the vendor keys Sentisec uses to forward your traffic — your
Anthropic key, your OpenAI key, your Bedrock key, your Google
credential. Add them under Settings → Providers, in its Provider
keys section: one card per provider. A request to a provider with no
key stored fails with no_upstream_credential; its row under
Requests offers an Add … key action that opens this section with
the provider selected.
How they are protected
Your credential is encrypted the moment it is submitted, and only the ciphertext is stored. The plaintext never reaches the API's request logs, never lands in the database, never appears in metrics, and is never included in a forensic bundle.
What you can do per provider
| Action | What it does |
|---|---|
| Add … key / Replace … key, then Save credential | Add a credential, or replace the one already stored. The button names the provider, for example Add Bedrock key. |
| Test connection | Make a real check against the vendor and report the result. The result is recorded, so the card still shows it after a reload. |
| Remove … key | Delete the stored credential. Requests to that provider on this workspace stop until you add another. |
Each provider also carries a health indicator so you can see at a glance which upstreams are ready to serve traffic and which are waiting on a credential.
Rotating a provider key
There is no separate rotate action, and none is needed: saving a new credential replaces the old one atomically, and it takes effect on the next request. No restart, no redeploy, no window where requests fail.
To move to a new vendor key safely, create it at the vendor, save it in Sentisec, confirm with Test connection, and only then revoke the old one at the vendor.
Which providers
Credentials are accepted for the providers Sentisec dispatches to. See providers for the current list. What each one expects differs a little:
| Provider | What you store |
|---|---|
| Anthropic, OpenAI, Kimi (Moonshot) | An API key. |
| Amazon Bedrock | A Bedrock API key, the region it was minted in, and an Endpoint, runtime or mantle — a key is region-scoped, and the region and endpoint select the host, so both are saved as part of the credential. See which endpoint to pick. |
| Google Gemini | An AI Studio API key. |
| Google Vertex AI | A service-account credential with a project and a region. |
Managing credentials is administrator-only, and every add, replace, and removal is written to the workspace's audit log.
Related
- Providers — connecting each upstream
- Workspace controls — what else a workspace configures
- Dashboard — where both surfaces live
Drop-in replacement
Change one base URL and your existing Anthropic or OpenAI client keeps working — same request body, same response shape, same streaming frames.
Workspace controls
Everything a workspace lets you configure — enforcement mode, the egress allowlist, alerts and SIEM delivery, and the request-rate limits that apply to your plan.