Documentation
Start with one real call
How Seal sits in your call path
Seal sits between your app and its model provider. It evaluates the configured policy before the call leaves, then returns a signed record of the decision.
Core features
Signed decision record
An Ed25519-signed ATTESTATION-v1 record is created for the routed decision.
Policy before provider
Configured policy runs before the provider call. A blocked call does not reach the model.
Independent verification
Check a receipt with the published key and verifier package. Aqta is not in the verification path.
Clear scope
Receipts support evidence work. They are not a certification or a substitute for your control programme.
Receipt field reference → Every field, the canonical signing bytes, and how to verify without calling us.
Integration
import openai
client = openai.OpenAI(
api_key="aqta_your_key",
base_url="https://api.aqta.ai/v1"
)
# with_raw_response keeps the receipt: SDKs drop unknown fields.
raw = client.chat.completions.with_raw_response.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Hello"}]
)
completion = raw.parse()
receipt = raw.http_response.json()["aqta"]["attestation"]
print(completion.choices[0].message.content)
print(receipt["outcome"]) # ALLOWED or BLOCKED
print(receipt["signature"]) # verify offline against the published keyUse the same OpenAI-compatible client and change its base URL. Available models depend on the provider credentials configured for your organisation.
API reference
- POST
/v1/chat/completionsOpenAI-compatible routed call - POST
/v1/actions/authorizeCheck an agent action before it runs; allowed or refused, signed - GET
/v1/attestation/public-keyCurrent published verification key - GET
/v1/attestation/keysPublished active and historical key material
The full endpoint reference, the action boundary for agents and the integration guides are shared with pilot teams.
Get access
Private pilot. Request access and we'll be in touch.