Security
What follows is how the system is built, not an aspiration. Each claim corresponds to something a test asserts.
API keys
- Keys are stored as hashes. The full secret exists in exactly one HTTP response, at creation, and is never rendered again.
- A key can be revoked immediately from the console; revocation takes effect on the next request.
- Your key is never forwarded upstream. Requests to model providers carry Astrodyne's own credential.
Request content
- Prompts, messages and responses are not stored. Request records keep metadata only.
- Logs are redacted: secrets and message content are removed before anything is written.
- Upstream error bodies are sanitised before they reach you, so an upstream failure cannot leak provider detail.
Money
- The balance is an append-only ledger. Charges are settled once and are idempotent under retry.
- A request reserves funds before it runs, so a balance cannot go negative.
- Card details go directly to Stripe and never reach our servers.
Platform
- HTTPS with HSTS, a content security policy with per-response nonces, and clickjacking protection.
- Passwords are hashed; sessions are cookie-based with CSRF protection on every state-changing request.
- Rate limiting on the API and on authentication endpoints.
- Nightly database backups, verified weekly by restoring into a throwaway database.
Reporting a vulnerability
Please write to security@astrodyne.ai. Tell us what you found and how to reproduce it; we will confirm receipt and keep you updated. Please do not test against other customers' accounts or run denial-of-service attacks.