Security
Security
AER is built to produce evidence you can trust without trusting us. This page explains how records are signed, how credentials are handled, how tenants are kept apart and how to report a vulnerability. AER is operated by Ad Astra Computing.
What is signed and how
Each completed session is assembled into a canonical JSON bundle. We take a SHA-256 hash of that canonical form and sign the hash with an Ed25519 key held by the service. Anyone can fetch the matching public key and re-check the signature offline, so a record proves itself without a live call to AER.
The record's hash and signature are also anchored to Sigstore Rekor, a public, append-only transparency log operated by the Linux Foundation. Only the hash and signature are sent to Rekor; event content never is. The anchor lets anyone show a record existed at a point in time and has not changed since.
Key handling
Tenant API keys are shown once at creation and stored only as an Argon2id hash. AER can never recover the plaintext of a key, so a leaked key must be revoked and replaced rather than resent. In the console a key lives in the browser's own storage and is sent only as an Authorization header to the AER API.
Tenant isolation
Every tenant's data is scoped to that tenant. Isolation is enforced in application code: each read and write that touches tenant-owned data carries the tenant scope, so one tenant's key cannot reach another tenant's sessions, records, findings or audit log.
Bodies-off by design
The collector captures metadata only: model names, token counts, tool names, hostnames, process names and timing. It never reads prompts, model completions, tool arguments or request and response bodies. The API discards unrecognised payload fields on ingest, so content cannot slip through even if a client sends more than the collector should.
Data location
AER runs on Cloudflare (Workers, D1, Durable Objects and R2). The primary database region is Eastern North America with read replication, and data may be processed across Cloudflare's global network. Our Privacy Policy covers international transfers in more detail.
Vulnerability disclosure
Email [email protected]. We acknowledge reports within three business days. We support good-faith research and will not pursue action against researchers who respect user data and give us reasonable time to fix issues.
Our machine-readable contact details are published at /.well-known/security.txt.