Skip to content

Trust & Security

What we see, what we store, and how we protect it.

PromptUnit sits between your code and your AI provider. That means your requests pass through our servers. This page explains exactly what happens to them, and what we read, what we log, what we never touch, and how your credentials are handled. No marketing language.

How the proxy works

Your App

x-promptunit-key

PromptUnit

www.promptunit.ai

Spam filter

Rate limiter

Model routing

Circuit breaker

Compression

Dialect translator

Context injector

Output verifier

Prompt travels in memory only. Not written to disk.

AI Provider

OpenAI

Anthropic

Google

Groq

DeepSeek

Supabase (metadata log)

✓

tokens, cost, latency, model used

✓

task type, routing decision, step names

✗

NO prompt or completion text

Retained 90 days. Powers your dashboard.

Request / response

Metadata only (no content)

This is identical in structure to any reverse proxy, the same way Cloudflare or a load balancer sits in front of your origin. The request travels through our infrastructure in memory. We do not write prompt content or completion content to disk at any point in that flow.

What we write to disk: the metadata fields in the table below.

What we log vs. never store

Data pointStored
Request timestampYes
Model used (requested + routed)Yes
Token count (input + output)Yes
Latency (ms)Yes
Cost (actual + would-have-been)Yes
Task type classificationYes
Feature tag (x-promptunit-feature header)Yes
Step names: 2-3 words per step of your app, written once by AI from that step's instructions on your own key (not in Privacy mode)Yes
Organization IDYes
Prompt text / contentNever
Completion text / contentNever
System prompt contentNever
User identifiers from your appNever
IP address of end usersNever

Metadata is retained for 90 days to power your dashboard cost analytics, then deleted.

How your provider API keys are stored

To forward requests to OpenAI, Anthropic, Google, or Groq on your behalf, we need your provider API keys. Here is exactly how they are handled:

  • Keys are encrypted with AES-256-GCM before being written to the database. The encryption key is stored separately from the database.
  • When a request comes in, the key is decrypted in memory only, for the duration of the outbound request, then discarded. It is never logged.
  • Keys are never transmitted to any third party other than the provider they belong to.
  • You can rotate or delete your keys from the dashboard at any time. Deletion is immediate and permanent.

Infrastructure

Hosting

Vercel. Proxied API requests are processed in the United States (Washington, D.C. area).

Database

Supabase (PostgreSQL). Stores organization metadata, usage logs, and encrypted keys. Data is encrypted at rest.

Rate limiting & circuit breaker

Upstash Redis. Spend limits and anomaly detection state are held in Redis with no prompt content.

Authentication

Clerk. Handles sign-in, session management, and MFA. PromptUnit never stores passwords.

Status

Live uptime monitoring via BetterStack. status.promptunit.ai

Subprocessors

Vercel (hosting), Supabase (database), Upstash (rate limiting), Clerk (sign-in), Resend (account and alert emails), Paddle (payments) and Google Analytics (website analytics). Your prompts are sent only to the AI provider whose key you connected, and are never written to our database or to disk. If you connect an OpenRouter key, OpenRouter passes each request to the model's host; when PromptUnit switches a request to a cheaper model there, it asks OpenRouter to use only hosts that don't store or train on your prompts.

Incident response

If we detect or are notified of a security incident affecting customer data, we commit to:

  • 1.Notifying affected customers by email within 72 hours of confirmed discovery.
  • 2.Publishing a post-mortem within 7 days describing what happened, what data was affected, and what we changed.
  • 3.Providing account deletion on request at any point. See your dashboard settings or email us.

We have not had a security incident to date. This section exists because you should know what we would do before you need to ask.

Certifications

We do not hold SOC 2 or ISO 27001 certification yet. Here is where we stand.

Encryption at rest and in transit

AES-256-GCM for stored keys, TLS 1.2+ for all traffic.

No prompt content retention

Enforced at the application layer. No path in the codebase writes prompt content to the database. Step names are short labels written by AI, never the instructions themselves.

Spend limits and circuit breaker

Hourly and daily spend caps enforced per organization with automatic downgrade.

SOC 2 audit

Not scheduled yet. We will post the date here once an auditor is booked, and publish the report when it is done.

Penetration test

Not scheduled yet. Today we publish a self-assessed security report.

Security questions

Security questionnaire for your procurement team, custom DPA, or anything not answered here. Reach out directly.

igal@promptunit.ai