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

Python
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 key

Use 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/completions
GET/v1/attestation/public-key
GET/v1/attestation/keys

Full endpoint reference →

Private pilot. Request access and we'll be in touch.

Last updated: July 2026