// security

Your inbox is sacred.
Here's the proof.

Prism asks for two sensitive things: read-only access to your Gmail and read-only API keys. That's a real trust decision, so here is exactly how we handle both — written to be checked, not skimmed.

CASA Tier 2 Certified

Google CASA Tier 2 verified

Gmail's read scope is a Google restricted scope — Prism passed the required independent Cloud Application Security Assessment to use it.

[01] Practices

Read-only, always

Prism requests the read-only Gmail scope (gmail.readonly) — Google's permission model makes sending or modifying email impossible with it. For AI providers we ask you to create admin/usage keys, which expose cost metadata only; Prism never issues completions or requests on your behalf.

We only keep invoice email

Scans search your inbox for billing-pattern messages (receipts, invoices, payment confirmations). Candidates are filtered by sender against our catalog of known dev-tool billing addresses; only those are read in full. Anything that doesn't parse as a real invoice is discarded — nothing about it is stored.

Encrypted at rest

API keys and the invoice email content we retain (subject, sender, and the matched message text shown to you for verification) are encrypted with AES-256-GCM before storage. Encryption keys live in environment configuration, never in the database or codebase.

Your keys, scoped down

API integrations use provider admin/usage endpoints that expose cost and usage metadata only. Prism never sees your prompts, completions, or application traffic — providers don't expose them on these endpoints, and we wouldn't store them if they did.

Deletion means deletion

Deleting your account permanently removes your user record, cascades through every table — invoices, integrations, usage records, alerts, sessions, stored tokens — and deletes your stored invoice PDFs from object storage. There is no soft-delete or retention window. We also recommend revoking Prism's access in your Google account settings, which kills the grant on Google's side too.

Hardened by default

Content-Security-Policy allowlisting, HSTS, frame-ancestors denial, CSRF origin validation, rate-limited scan endpoints, HMAC-signed outbound webhooks, and error monitoring with console breadcrumbs stripped so reports never carry email content.

[02] What we store — and what we never store

Stored

  • Vendor, amount, date, and invoice number per detected invoice
  • Encrypted invoice email content, subject, and sender (so you can verify each match)
  • Encrypted provider API keys
  • Daily cost/usage aggregates per model and project

Never stored

  • Non-invoice email of any kind
  • Your prompts, completions, or API request contents
  • Card numbers (payments run entirely through Stripe)
  • Your Gmail password — authentication is OAuth-only

[03] Subprocessors

Services that process data on Prism's behalf, and what each one sees:

GoogleOAuth sign-in and Gmail API (read-only scope)
RailwayApplication and database hosting
Amazon Web Services (S3)Encrypted storage of invoice PDFs (us-east-1)
OpenAIInvoice text parsing when pattern extraction is inconclusive (truncated invoice content only — never your whole inbox, never your API usage data)
StripePayment processing (Prism never sees card numbers)
ResendTransactional email (alerts, digests, reminders)
SentryError monitoring (no email content in error reports)

[04] Questions or disclosures

Security questions, vulnerability reports, or data requests: security@andprism.com. We respond to vulnerability reports within 48 hours. See also our Privacy Policy and Terms.

Convinced? See the product with sample data first.

7-day Premium trial · No credit card required