Impossible to steal.
Seal protects your app's secrets at runtime, even if hackers take over your servers. Stack-agnostic, not a secrets manager.
Read the architecturekali@kali: ~ — nc -lvnp 4444
kali@kali:~$ nc -lvnp 4444
listening on [any] 4444 ...
connect to [10.13.37.1] from prod-api-3 [10.0.4.11] 51722
uid=0(root) gid=0(root) groups=0(root)
root@prod-api-3:/srv/api#
Audit log
ai-assistant- RequestPOST /v1/responses · 200api.openai.com · s_77e0 · 554 ms
- RequestPOST /v1/responses · 200api.openai.com · s_19c4 · 417 ms
- RequestPOST /v1/responses · 200api.openai.com · s_8f2a · 280 ms
Your API keys keep getting stolen.
The usual fixes don't work.
Your app needs the key in memory. Root can read memory.
Encrypt it
key = decrypt(env.OPENAI_KEY_ENC)
Your app decrypts it. So can they.
Put it in a vault
key = await vault.read("openai")
Your app fetches it. So can they.
Rotate it
rotate("openai", { every: "90d" })
Your app keeps it for 90 days. So do they.
Lock it in hardware.
The key lives in a hardware TEE, a sealed part of the chip that even root can't look inside. Your app only ever holds a blob.
The key goes into the TEE. Your server gets a blob back.
Runs on
Your serverAttacker has root

Hardware TEE
Upstream
- api.openai.com
- Postgres
- Redis
- Your API
Change three lines.
Put the blob where the key was and open a session on it. Your app never sees the real key.
-OPENAI_API_KEY=sk-proj-7Hq2…b9Xc+OPENAI_API_BLOB=seal1.acme.3.b7f2d41c09ae…
import osfrom openai import OpenAI+import seal-client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])+with seal.session(os.environ["OPENAI_API_BLOB"]) as s:+ client = OpenAI(base_url=s.url, api_key=s.key)
Zero setup
Seal hosts the TEE for you. Free to start.Works with your stack
OpenAIAnthropicStripePostgresRedisKubernetesAWSAzureGoogle CloudGitHub ActionsSave blobs anywhere
Only your app can use them. Keep them in env vars, your database or your secrets manager.
Don't trust us either.
Pick a plan and see who could read your key. At the strictest, only the chip maker.
Hackers with root
Your developers
Your cloud admins
Seal
Chip maker
The key sits in your app's memory. Anyone with root, or with your cloud account, can read it.
Where you trust Seal, Seal is kept honest.
source9f3c…e1a0
chip9f3c…e1a0✓
Anyone can rebuild it
Same code, same fingerprint.
No one ships alone
Several signatures. Add yours.
Public first
Logged, watched by outsiders.
Then it waits
Public for a while before it gets keys.
Your SDK checks the chip
On every connection.