Security
SpendOps AI exists because you trusted us with an Admin API key. Here is exactly what we do - and deliberately don't do - with it.
Your Admin API keys
- Keys are encrypted with AES-256-GCM before they touch the database and are only ever decrypted inside our ingestion workers.
- A key is validated and encrypted server-side the moment you submit it. It is never returned to the browser, never included in any API response, and never written to logs.
- We recommend least-privilege keys: OpenAI Admin keys support a read-only Usage API scope, and the connect form shows exact setup steps per provider.
- Revoking an integration stops syncing immediately. You can also revoke the key at the provider at any time - we degrade gracefully.
Read-only by design
- SpendOps pulls cost and usage data from your providers' Admin APIs on a schedule. We only call read endpoints.
- None of your application traffic flows through our servers - no proxy, no gateway, no latency added, and an outage on our side can never affect your product.
- We never see your prompts, completions, or end-user data. We ingest aggregate cost and token counts only.
Tenant isolation
- Every customer-data table is protected by Postgres Row-Level Security scoped to your organization. Isolation is enforced by the database, not just application code.
- A two-tenant isolation probe runs before every deploy to verify that one organization can never read another's rows.
No PII in logs
- Structured logs carry organization, request, and actor identifiers - never emails, names, or key material.
Your data, your call
- You can export your cost data as CSV at any time from the Cost Explorer.
- On request we delete all data for your organization - usage events, aggregates, reports, and encrypted keys.
Infrastructure & subprocessors
- Hosting and data: Vercel (web), Railway (API and workers), Supabase (Postgres), Upstash (Redis), Cloudflare R2 (report storage).
- Services: Clerk (authentication), Stripe (billing - we never see card numbers), Resend (email), Slack (alerts you configure), Sentry (errors), PostHog (product analytics).
Questions, security reviews, or vulnerability reports: email security@spendopsai.com. Reports go straight to the founders.