Documentation home

Trust & strategy

Data handling inventory

Engineering outline of data categories (non-legal); use with privacy/terms work.

Data handling inventory (non-legal)

This document is an engineering outline of categories of data the application stores and processes. It is not a privacy policy or legal disclosure. Product-facing text must be drafted with counsel.

CategoryExamplesTypical storageNotes
Account / identityEmail, name (Supabase Auth, users)Supabase PostgreSQLDashboard login; approver identity for audit.
Marketing waitlistEmail (waitlist_signups.email_normalized), optional sourceSupabase PostgreSQLPublic signup form; inserts via server action + service role only; no dashboard UI yet.
API credentialsRaw API keys (client); SHA-256 hashes (api_keys.key_hash)DB holds hashes onlyRaw keys never stored; never log raw keys.
Evaluation payloadspayload_scope, context_json (incl. optional mcp_trace / tool_calls), policy outcomes, pinned policy versionevaluations (incl. policy_version_id), audit_logCore product data; classify per customer contract. MCP metadata supports agent-trace correlation.
Policy rulesetsCurrent JSON on policy; immutable version rows + ruleset hashpolicies.ruleset_json, policy_versions (append-only), evaluations.policy_version_idDashboard edits update policies and append policy_versions; evaluate uses latest version at request time.
Human approvalStage status, OTP digests (hashed), tokens, optional approval_deadline_at and timeout snapshotsapproval_stagesTokens are high-entropy; approve/reject via POST only. Deadlines enforced by cron when policies set approval_timeout_seconds.
WebhookIntegrator URL, POST payload snapshots (event approval vs terminal), optional signing secret / hostname allowlistevaluations.webhook_url, webhook_deliveries (event_kind, payload_json), workspace_integration_settings (webhook_hmac_secret, webhook_allowed_hostnames)Outbound only; SSRF + optional hostname allowlist before dispatch. Settings are admin-readable in DB/RLS; treat like policy config.
Email contentApproval links, OTP messagesTransacted via ResendRetention subject to Resend and your settings.
Operational logsapiLogLine JSON, request idsHost stdout / log drainAvoid PII and secrets in log fields.

Retention (policy placeholder)

Define per-environment and per-customer retention for:

  • evaluations, policy_versions, and related approval_stages
  • audit_log
  • webhook_deliveries

Implementation options include scheduled Supabase SQL deletes, pg_cron, or external jobs. Not implemented in-repo until you choose windows (e.g. 90d / 1y) and legal basis.

Subprocessors

Common stack elements referenced in deployment docs: Supabase (DB/Auth), Resend (email), Netlify or other host, Upstash (optional rate limits), Sentry (optional errors). Maintain an accurate list for your DPA.