Trust center
What Secure Raven actually does.
Connection modes, encryption, retention, subprocessors and release gates, without claiming a HIPAA certification, a finished SOC 2 report or a completed pen test.
- Manifest
- Machine-readable copy of this page: /api/trust/manifest. Version
2026-10-17.1. - Claims
- 6 fields, every one false.
- BAA
- Connecting a source does not create one.
- Release gates
- 0 of 5 open in production.
- Pen test
- Not commissioned. The scope is written.
Disclosures
Claims we do not make.
What we have not done yet, and what we choose not to do. Written down, so you can hold us to them.
- Not yet
We are not SOC 2 audited yet.
Our Type I target scope is Security and Confidentiality. No auditor is engaged yet.
- No such thing
No one is “HIPAA certified”, including us.
HIPAA Hawk maps technical safeguards. It does not certify.
- Not yet
No penetration test has been completed yet.
The trust manifest says so too.
- By design
We are not a WAF, and we do not proxy your traffic.
Shield is middleware and SQL you install and approve in your own app and database.
- By design
We do not use AI to find or rank issues.
Fixed rules produce every finding.
- By design
We do not store your rows.
We keep table names, policy names and flags.
Trust manifest
live · machine-readableGET /api/trust/manifest
"claims": {
"hipaaCertified": false,
"baaOffered": false,
"connectingCreatesBaa": false,
"soc2IndependentlyAudited": false,
"externalPentestCompleted": false,
"sitsInFrontOfSubscriberApi": false
}Every certification field in the manifest is false. A test checks that, and so does the server on every request.
Connection modes
What we hold, mode by mode.
How each kind of connection reaches your systems, and the credential Secure Raven keeps for it, if any.
Connection modes
5 modes| Mode | Held by Secure Raven | Default for |
|---|---|---|
Public website scanpublic_web | None | web |
Subscriber-hosted push probepush_probe | Ingest token hash and an Ed25519 public key only. Secure Raven generates the key pair when the token is created, shows the private key once and does not store it. No database credential. | supabase recommended |
Restricted Postgres scanner rolerestricted_role | None: restricted-role login is not offered while Gate B is closed | not offered |
Privileged Supabase API modeprivileged_api | service_role or sb_secret_ key | optional, highest risk, off in production |
Shield applyshield_apply | None by default. Subscriber pastes digest-bound SQL. | never implicit |
Encryption
stored credentials- Envelope
- AES-256-GCM envelope v3 bound to tenant, source, kind, and format.
- Production key
- None at launch: storing database credentials stays off until an external KMS holds the key. A local KEK is refused in production unless ENVELOPE_ALLOW_LOCAL_KEK is explicitly set, and never when ENVELOPE_REQUIRE_KMS is set.
What we retain
Kept for a set time, then purged.
The same schedule for every tenant and every plan. The audit log is the exception: we do not delete it. The current chain began on 2026-10-16, when we rebuilt our database, and nothing in it links to the earlier chain.
Retention
days, on one axis- Events90 days, then purged
- Raven runs, once finished365 days, then purged
- Resolved findings730 days, after resolve or accept, then purged
- Audit logNot deleted, chain since 2026-10-16
Subprocessors
Who else touches the data.
The services that process Secure Raven data for us. Anything not listed here has no data-processing relationship with us.
| Subprocessor | Purpose | What it handles |
|---|---|---|
| Supabase | Postgres, Auth and Edge Functions, in US East (us-east-1) | Your account and tenant data: systems, findings, events and the audit log. Requests to Supabase pass through Cloudflare, Supabase’s own provider. |
| Vercel | Hosting for this site and the dashboard, with functions in US East | Requests and responses in transit, and server logs. |
| Resend | Transactional email: invitations, password resets, account security and incident alerts | Recipient address and workspace name, one-time sign-in links and codes, and for incident alerts the severity, a short title and a dashboard link. A title is a fixed phrase and may include the start of a finding’s title. Nothing else from findings. |
| Olyron | Sign in with Olyron, if you choose it | Your identity and email address. |
| GitHub | Source code and CI | Our source code. No customer data. |
No AI or LLM vendor receives findings, events, credentials or the audit log.
Release gates
0 of 5 gates open in production.
Code being finished is not the same as a gate being open. Each gate opens only after its review, test or sign-off.
Gate A: Safe beta
Code completeProduction off
Public web scan and subscriber-hosted push probe. Privileged credentials stay off in production by default.
Gate B: Restricted direct scan
Code completeProduction off
Restricted scanner role and MFA/step-up exist in code. Independent SQL review is still required before calling this gate open.
Gate C: Privileged Supabase API mode
BlockedProduction off
Blocked until an external pen test closes critical/high findings. Privileged mode is optional and off in production unless explicitly enabled.
Gate D: Remote Shield apply
BlockedProduction off
Default apply is subscriber-executed SQL bound to the reviewed pack digest. REMOTE_SHIELD_APPLY_ENABLED stays off.
Gate E: Regulated data
BlockedProduction off
REGULATED_DATA_CONNECTIONS_ENABLED stays off until BAA, subprocessors, and counsel approve HIPAA operational scope. A signed BAA is not a certification.
Production defaults
fail closed- Privileged database connections
- Off
- Regulated-data connections
- Off
- Remote Shield apply
- Off
- Signed ingest required
- On
- Step-up before privileged actions
- On
- Shield apply on scan credentials
- Off
Service levels
SLOs we will measure.
Targets only. None of these is a live product metric yet.
| SLO | What it measures | Target | Measured |
|---|---|---|---|
credential.unwrap_success | Authorized broker unwraps of live, non-erased envelopes | 99.9% excluding revoked or disconnected sources | Not yet |
credential.time_to_revoke | Disconnect to claim/unwrap refusal | Next claim cycle; queued jobs skipped | Not yet |
scan.isolation | Scan grants never include shield.apply | 100% of planned and claimed runs | Not yet |
ingest.signature_rejection | Unsigned or tampered ingest is rejected (Ed25519 signature required on every request) | 100% of fail-closed production traffic | Not yet |
shield.rollback_time | Time to stop remote apply and keep subscriber SQL as the path | Flag off immediately; no global remote apply | Not yet |
Disclosure
Report a vulnerability.
Email security@secureraven.app. Do not include health information, credentials or customer data.
Bring the Ravens to your own systems.
Secure Raven is in private early access, by invitation. Tell us what you run.