Encryption
All data is encrypted at rest using AES-256 and in transit over TLS 1.2+. API keys are stored as one-way hashes — the raw key is never persisted after the initial display to you.Authentication
- API keys are project-scoped. Each key can only write events to the project it was created for.
- Dashboard login supports email/password, OAuth (GitHub, Google), magic link, and TOTP two-factor authentication.
- SSO (OIDC — Okta, Azure AD, Google Workspace, or any generic OIDC provider) is available on the Team plan and above. See SSO for setup.
Tenant isolation
Every organization’s data is isolated at the storage layer. Queries from one organization cannot access another organization’s data — this is enforced at the data layer, independently of application logic.Prompt and response data
Zespan stores prompt text and LLM responses by default, with PII redaction applied before transmission — this is what powers evaluations, prompt-linked traces, and debugging. If you don’t want raw content stored, disable it explicitly:storePrompts: false, only token counts, latency, cost, and structured metadata are sent — never raw prompt or completion text.
Traces exported by an AI gateway (LiteLLM, OpenRouter, Portkey, Kong, Vercel AI Gateway, Cloudflare AI Gateway, Bifrost) follow the same rules, applied when the spans arrive: the project’s prompt and tool capture settings decide whether prompt and completion text is stored, and redaction runs on what is stored. Many gateways export prompts and completions by default, and some attach the end user’s e-mail, the requester’s IP address, key hashes and team names to every span. Zespan removes that gateway identity metadata before anything is stored, with capture on or off. The end-user id you set yourself stays. See AI gateways.
Zespan does not train or fine-tune any AI model on your content. Zespan’s own AI features send redacted trace data to its AI providers; see the next section.
Zespan’s AI features and your data
Zespan’s own AI features — ZespanPilot, the AI Hub, root-cause analysis, incident analysis, and Semantic Judge guardrails on Zespan AI credits — send the relevant trace data to Zespan’s AI model providers. An organization-level AI processing setting governs this; features that run on your own LLM connection are unaffected. If Zespan can’t read the setting, it treats AI processing as off for that request. See Organizations → AI processing. Before ZespanPilot sends anything to a model, it redacts personal data from the trace data and stored records it reads. See ZespanPilot → Personal data.PII redaction
For structured fields (tags, metadata), the SDK automatically redacts values under common sensitive key names before events are sent. Default redact list covers password, token, secret, api_key, authorization, ssn, credit_card, and more.
Extend or replace the list at init:
Audit logging
Every privileged action in the dashboard is written to an append-only audit log:- API key creation and revocation
- Project creation and deletion
- Alert and guardrail changes
- Team membership changes
- Billing updates
Data controls
Full control over your data — what’s collected, how long it’s kept, and how to get it out or delete it.Prompts and responses stored by default, opt-out available
Zespan stores prompt and completion text by default with PII redaction applied before transmission. SetstorePrompts: false to disable prompt storage entirely — only token counts, latency, cost, and metadata will be sent.
PII redaction at ingest
Every project masks common identifiers — email addresses, phone numbers, card numbers, US Social Security numbers, IBANs, and IP addresses — in prompts, completions, and other free-text fields on Zespan’s servers before they are stored. You can turn on broader server-side redaction per project under Settings → General → Redact personal data (PII). See PII redaction → Server-side redaction. The SDK also redacts sensitive values fromtags and metadata fields before events are transmitted. The default list covers password, token, secret, api_key, authorization, ssn, credit_card, and more. Extend it at init:
Data retention
Your plan’s retention window is enforced on every read. Traces, evaluation scores, guardrail events, and incident events older than the window are excluded from every API response and dashboard view — there is no query, filter, or date range that returns them — and a daily cleanup permanently deletes them. See Data retention and deletion.Export your data
Request a copy of your account data from Settings → Privacy → Export my data. You get an email when it’s ready, and download it from the same page. Requests are answered within 30 days. See Privacy.Erase your data
- Delete a project: its API keys stop working immediately and its data is permanently removed after a 7-day grace period.
- Delete your organization: only an owner can. Its projects and API keys are removed at once, and its trace data is purged shortly afterwards.
- Delete your account: Settings → Privacy → Delete account. You’re signed out right away and your data is erased in the background.
- Erase one of your end users: erase or export the data of a single person who uses your application, by user id or session id. See End-user data requests.
IP addresses
IP addresses stored with sign-in sessions, privacy choices, and new audit log entries are truncated before they are saved (/24 for IPv4, /48 for IPv6).Staff access to your account
Zespan support and operations staff can take a small, fixed set of privileged actions on customer accounts. These live behind a separate internal superadmin console — never the customer-facing dashboard — and every one of them is scoped, reasoned, and logged.Every superadmin action — ban, unban, password reset, session revocation, impersonation, organization suspension, and reactivation — is written to an internal audit log, permanently and independently of your organization’s own audit log.
Organization suspension
Suspending an organization blocks dashboard and API access for that organization’s members. It does not stop SDK ingest — trace and event data keeps flowing normally, so nothing is lost while an organization is suspended. This is a deliberate design decision: suspension is a billing and compliance control, not a data-loss risk, and reactivating a suspended organization cannot backfill telemetry that was refused while it was down.Privacy requests — exporting or deleting an account, and erasing or exporting end-user data — can’t be made while a staff member is impersonating your account.
Self-hosted deployments
With the self-hosted option, Zespan has no access to your trace data, prompts, or user records, which stay in your own infrastructure. One exception today: the sign-in service (Better Auth Infra) receives sign-in and account events (email address, IP address, user agent) from self-hosted installs too, and any email, analytics or AI-provider keys you configure send data to those providers. See Self-hosting. One control moves to you when you self-host: Zespan derives a caller’s IP address from the proxy chain, so your load balancer or CDN must overwriteX-Forwarded-For rather than append to a client-supplied value, and the API must not be reachable around it. That address is what a person compares against when approving a CLI sign-in. See Client IP behind a proxy.
Search engines
The Zespan app and its sign-in pages tell search engines not to index them. This doesn’t affect the marketing site or these docs.Responsible disclosure
Report security vulnerabilities to security@zespan.com. We respond within 48 hours and patch confirmed vulnerabilities within 14 days.Next steps
- Audit log — your organization’s own record of every action taken inside it
- Organizations — team member roles and permissions
- Self-hosting — keep your trace data in your own infrastructure
- Privacy — your privacy choices, data export, and account deletion
- Data retention and deletion — how long data is kept and what deletion removes
- Outbound request policy — which addresses Zespan will call on your behalf

