seal

Impossible to
steal.

Seal your secrets in hardware, safe even when hackers take over your servers.

$5,000

to the first person who steals our key. Take the challenge

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)

sk-proj-7Hq2…b9Xc

Your app decrypts it. So can they.

Put it in a vault

key = await vault.read("openai")

sk-proj-7Hq2…b9Xc

Your app fetches it. So can they.

Rotate it

rotate("openai", { every: "90d" })

sk-proj-7Hq2…b9Xc

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

import seal
blob = seal.seal(
"sk-proj-7Hq2…b9Xc",
to="https://api.openai.com/v1",
apps=["ai-assistant"],
)
# → seal1.acme.3.b7f2…
A hardware chip with a graphite lid: the secure enclave (TEE) that holds your key

Hardware TEE

Upstream

  • api.openai.com
  • Postgres
  • Redis
  • Your API

Built onAMD SEV-SNPAzure confidential containersIntel TDXGoogle Confidential SpaceAWS Nitro Enclaves

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 os
from 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 Actions
  • Save 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

Can read

Your developers

Can read

Your cloud admins

Can read

Seal

Not involved

Chip maker

Not involved

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.

  1. source9f3c…e1a0

    chip9f3c…e1a0✓

    Anyone can rebuild it

    Same code, same fingerprint.

  2. No one ships alone

    Several signatures. Add yours.

  3. Public first

    Logged, watched by outsiders.

  4. Then it waits

    Public for a while before it gets keys.

  5. Your SDK checks the chip

    On every connection.

Read the log yourself. Your browser checks every entry.

Start free today.

The Developer plan is free and open now. Sign up and seal your first key.

Available now

Developer

Free

  • Seal hosts the TEE, nothing to deploy
  • Calls to public APIs like OpenAI and Stripe
  • An audit log of every request
  • A local simulator for development
  • Community support

Coming soon

  • Hosted

    Seal-hosted, sized for production traffic.

  • Business

    Your own TEE in your network, for private databases.

  • Enterprise

    Not even Seal: your own locked key vault, and an SLA.

Need one of these now? Talk to us.

What we're building next.

Seal already stops attackers from stealing your keys. Next, it stops them from using your keys through your app.

  • App integrity

    Private preview

    Seal checks the build each machine is running against the one you shipped. Change one byte and the key stops working there. Request access.

  • SQLi Guard

    Seal sits between your app and its database, so it sees every query. One shaped like an injection is stopped before it reaches your data.

  • Advanced behavior detection

    Seal learns how your app uses each key: how often, when, from where. When that changes, you hear first, and Seal can cut it off.

  • More protocols

    HTTP APIs, Postgres and Redis today. ClickHouse, MySQL, MongoDB and S3 next. Tell us what you need.