The security layer of the Olyron framework

Find the leak before your users do.

Secure Raven inspects your Supabase or Postgres database and your public websites with fixed rules, in a fixed order. If your site ships a key that can count your rows, you will see the count, never the rows.

Proof, not a checklist. A stage that cannot finish is reported as incomplete, never as a pass.

Sentinel, who runs Watch, perched on its rail
Scout, who leads the Web Ravens, in flight
Warden, who leads the Database Ravens, wings spread

WardenDatabase Ravens · policies and grants

SentinelWatch · every 6 hours

ScoutWeb Ravens

Checks
13Ravens, built on fixed rules.
Order
3stages. A failed stage skips the rest.
Your rows
0stored. Names and flags only.
AI on your data
0AI vendors. No AI model reads your data.

Why Secure Raven stands out

Eight things we can prove today.

Each one is a property of the product you can check for yourself, not a promise about it.

  • Outside in

    Proof, not a checklist

    If your site ships a Supabase anon key in its JavaScript, Web Surface finds it and asks your REST API how many rows that key can count. It sends limit=0, discards the response body unread, and keeps only the table name, the status and the count.

    GET /rest/v1/<table>?limit=0 → count only
  • Fail closed

    No false green

    In a full database inspection, a stage that cannot finish is reported as incomplete, never as a pass, and the stages after it are skipped.

    02 failed → 03 skipped → incomplete
  • Deterministic

    Fixed rules, fixed order

    All 13 Ravens are built on fixed rules, and a full inspection always runs Connect, then Static posture, then Detector. No AI model reads your data, and findings, events and credentials are never sent to an AI vendor.

    13 Ravens · 3 stages · 0 AI vendors
  • Data minimal

    Names and flags, never rows

    Secure Raven stores table names, policy names and flags. It never stores your rows.

    rows stored: 0
  • Push probe

    No database password

    A small probe in your own database pushes signed telemetry. Secure Raven keeps a hash of its token and its Ed25519 public key, never your database password.

    held: token hash + public key
  • Out of band

    Not in your traffic path

    No proxy and no WAF sits between you and your users. Shield, if you install it, runs in your own app and database.

    proxy: none · WAF: none
  • Evidence

    Evidence an auditor can read

    HIPAA Hawk cites the Security Rule section for every check, and every privileged action lands in an append-only, hash-chained audit log. Never sold as a certification.

    45 CFR 164.312(b) · hash-chained
  • In public

    Radical honesty

    A machine-readable trust manifest where every certification field is false, and a written list of the claims we do not make.

    GET /api/trust/manifest → false

The leads

Three leads. Three honest jobs.

Each lead heads a team of Ravens, and every power on the team is a real check that runs in the product today.

Warden · wings spread, facing you

Leads the Database Ravens

RLS Auditor, Storage, Auth, Secrets and Postgres Posture inspect how your database is set up. Then Detector promotes the high and critical events to findings.

HIPAA Hawk is built on the same body. It maps safeguards to Security Rule citations and is not a certification.

  • Detector
  • RLS Auditor
  • Storage
  • Auth
  • Secrets
  • Postgres Posture
  • HIPAA Hawk
Scout · in flight, side view

Leads the Web Ravens

Web Headers, Web Surface and Login Flow check your public websites from the outside: security headers, exposed files and keys, and your login page.

The Scout looks from the outside, like a visitor would. It is not a proxy and never sits in your traffic path.

  • Web Headers
  • Web Surface
  • Login Flow
Sentinel · perched, side view

Runs Watch

Watch is a scheduled safe inspection of a connected source, every 6 hours by default. The Sentinel also leads the network Ravens and Shield Verify.

Watch is not a firewall, and it is not 24/7 monitoring.

  • Network Telemetry
  • Wi-Fi Telemetry
  • Shield Verify

The roster · 13 Ravens

13 Ravens. Every power is a real check.

Each check is a hero with its own gear and signature colour. The line on every card is what that Raven checks today, taken from the product registry.

  • Warden body · 7 Ravens

    Database Ravens

    Inspect your Supabase or Postgres database.

    Led by the Warden
  • Detector

    Promotes high and critical events to findings.

    Alarm amber
  • RLS Auditor

    Finds permissive read/write policies and disabled row-level security.

    Lock green
  • Storage

    Finds public buckets and anonymous public write.

    Vault steel
  • Auth

    Checks MFA coverage on connected Supabase projects.

    Factor gold
  • Secrets

    Finds plaintext secret column names (names only, never values) and public anon-key leaks paired with weak RLS.

    Cipher lime
  • Postgres Posture

    Checks for an end-of-life Postgres major version, extension updates and insecure settings (SSL, password_encryption, row_security).

    Elephant blue
  • HIPAA Hawk

    Maps technical-safeguard gaps to HIPAA Security Rule citations and tracks vendor BAA inventory gaps. Not a certification.

    Clinical cyan
  • Scout body · 3 Ravens

    Web Ravens

    Check your public websites from the outside.

    Led by the Scout
  • Web Headers

    Checks CSP, HSTS, X-Frame-Options and Permissions-Policy on your URL.

    Header white
  • Web Surface

    Finds exposed files and JS bundles that leak keys (Supabase anon/service_role, Stripe, AWS, GitHub and others).

    Lens teal
  • Login Flow

    Passive inspection of your login page and cookies.

    Cookie bronze
  • Sentinel body · 3 Ravens

    Network and Watch Ravens

    Read telemetry from a probe you run, and record Shield verification.

    Led by the Sentinel
  • Network Telemetry

    Analyses telemetry from a probe you run for rogue devices, dangerous open ports and unauthorized hosts. It does not discover your network itself.

    Port green
  • Wi-Fi Telemetry

    Analyses probe telemetry for insecure access points, evil twins and WEP or open networks. Not active radio scanning.

    Wave sky
  • Shield Verify

    Records Shield verification in scan history. It does not claim enforcement by itself.

    Seal silver

How an inspection works

Three stages, always in this order.

A full inspection runs Connect, then Static posture, then Detector. A failed stage skips the stages after it. An incomplete inspection is reported as incomplete, never as a pass.

  1. Stage 01: Connect

    The probe must answer before anything is judged.

    If Connect fails, Static posture and Detector are skipped, and the run is reported as incomplete.

    • HIPAA Hawk
    probe answers · or incomplete
  2. Stage 02: Static posture

    Five Ravens read how your database is set up.

    Tables without row-level security, rules that let anyone write, public buckets, missing MFA, secret-looking column names and an outdated Postgres. Every finding is ranked Critical, High, Medium or Low.

    • RLS Auditor
    • Storage
    • Auth
    • Secrets
    • Postgres Posture
    names and flags · never rows
  3. Stage 03: Detector

    High and critical events become findings.

    Detector reads the events the probe sent and promotes the high and critical ones to findings, each with its severity. Findings store names and flags, never your rows.

    • Detector
    events · findings

Fail closed

Sample
Which stage fails?
  1. 01ConnectRan
  2. 02Static postureFailed
  3. 03DetectorSkipped

incompleteIncomplete. Not a pass. Stage 02 failed, so stage 03 was skipped.

Watch

every 6 hours by default

A scheduled safe inspection of one source, every 6 hours by default. While a Watch runs, the Sentinel’s pupil sweeps.

Watch is not a firewall, and it is not 24/7 monitoring.

Sample day at the default interval. The hollow mark is the next run.

Observed from the internet

What can a stranger reach with your public key?

If your site ships a Supabase anon key in its JavaScript, Web Surface finds it and asks your REST API, with that key, how many rows a table returns. It asks with limit=0, discards the response body unread, and keeps the table name and the count. If a table answers, you get a critical finding.

Web Surface · run 7f3a…c2

Sample
JS
Your site’s JavaScriptWeb Surface reads it and finds the anon key.
API
Your Supabase REST APIAsked for a count only. Your rules decide the answer.
The same request anyone could send with the key your site already publishes. Up to 8 tables are tried, in order.

What Web Surface asks

Sample
Sample count requests: the table asked about, the answer, and the result
TableAsked forAnswerResult
public.profilesA row count, limit=0401 · refusedRefused
public.membersA row count, limit=0count 1,204ReachableCritical
Kept for the finding
public.members · count 1,204
Rows stored
0

The first table that answers becomes the finding. Inside the database, the RLS Auditor finds the same exposure from your policies instead; the Database Ravens do not run for customers yet.

HIPAA Hawk · for health-tech teams

Every check cites the rule behind it.

Technical checks for teams that hold health data. Each one cites the section of the HIPAA Security Rule it relates to, so a reviewer can trace a finding back to the regulation.

28

technical checks, each citing a Security Rule section. It also tracks gaps in your vendor BAA inventory.

Sections HIPAA Hawk cites

7 sections
  • 45 CFR 164.312(a)(1)Access Control
  • 45 CFR 164.312(b)Audit Controls
  • 45 CFR 164.312(c)(1)Integrity
  • 45 CFR 164.312(d)Person or Entity Authentication
  • 45 CFR 164.312(e)(1)Transmission Security
  • 45 CFR 164.308(a)(1)(ii)(A)Risk Analysis
  • 45 CFR 164.314(a)(1)Business Associate Contracts

Finding · HIPAA Hawk

Sample

HighPublic table has Row Level Security disabled

public.members · cites 45 CFR 164.312(a)(1) Access Control

A scanning aid. Not a certification. No HIPAA certification exists, for us or for anyone else. HIPAA Hawk maps technical safeguards; it does not certify. How HIPAA Hawk maps safeguards

Shield and Evidence

Enforce when you choose. Keep the record either way.

Inspection reports the problem. Shield adds enforcement only if you install it, and every privileged action is written to an audit log.

Shield

optional

Enforcement you install: middleware for web requests in Next.js, and database lockdown SQL that you review and approve. It does not sit in your traffic path as a proxy, and it is not a WAF.

The six states Shield can report
StateWhat it means
Not installedNothing is installed yet.
MonitoringInstalled, not enforcing.
EnforcingApplying the rules you approved.
DegradedRunning, but not fully.
DisabledTurned off.
ErrorNot working. Needs attention.

Protected appears only after enforcement is verified.

Database lockdown SQL · you review it, then approve itSample
-- turn on RLS and let owners read only their own rows
alter table public.members enable row level security;
create policy members_owner_read
  on public.members for select
  using (owner_id = auth.uid());

Evidence

audit log · hash-chained

Export a sanitized evidence pack. Every privileged action is written to an append-only, hash-chained audit log that we do not delete. Privileged actions, such as authorizing a scan or turning on Watch or Shield, need MFA with an authenticator app plus a 5-minute step-up.

Audit log · each entry carries the hash of the one before itSample
  1. 09:12Push probe installed probe.installprev 8d04…3b · hash 2c7e…91
  2. 09:14Scan authorized scan.authorizeprev 2c7e…91 · hash 5a19…e0
  3. 09:20Watch turned on · every 6 hours watch.enableprev 5a19…e0 · hash b3f2…47
  4. 09:31Evidence pack exported export.createprev b3f2…47 · hash e61c…0d
INSPECTED · RUN 7F3A…C2 · 2026-10-16 · SECURERAVEN.APP ·

Evidence stamp · Sample

Inspected, which run, which day. Never certified.

Customer API v1 · Ed25519-signed requests · 60 per minute per key · systems, sources, findings, scans

How we secure Secure Raven

Closed by default, on our side too.

What we hold, what we never hold, and the controls that guard it. Each one is live on Secure Raven today. Security at Secure Raven

Push-probe mode

custody
Your databaseA small probe you installYour rows stay here.
Secure RavenA token hash and a public keyNo database password.

Held by Secure Raven

  • Table names, policy names and flags.
  • A hash of the probe’s token and its Ed25519 public key.

Never stored, never sent

  • Your rows.
  • Your database password, in push-probe mode.
  • Findings, events and credentials, to any AI vendor.
Storing database credentials stays off in production until an external key service holds the encryption key. When it is on, each credential is sealed with AES-256-GCM envelope encryption bound to your tenant and source, and only an isolated broker service can decrypt it.
  • RLS · cross-tenant tests

    Tenant isolation

    Row-level security on every tenant table, with cross-tenant isolation tests.

  • public key: no grants

    Closed by default

    The public key cannot run any database function or read any table. Privileged functions are server-only.

  • TLS 1.2+ · AES-256

    Encrypted

    In transit: TLS 1.2 or later with HSTS. The app reaches its database only through Supabase’s HTTPS APIs, and the database refuses connections without SSL. At rest: AES-256 on our providers’ disks.

  • MFA · 5-minute step-up

    Access

    MFA with an authenticator app, and a fresh 5-minute step-up before privileged actions. Recovery codes are stored as keyed hashes.

  • Ed25519 · public keys only

    Signed requests

    Probe and API requests are signed with Ed25519. We store only public keys, so no shared signing secret exists on our side.

  • keys: not in the database

    Keys kept apart

    Encryption and service keys are never stored in the database.

  • hash-chained · keyed hashes

    Audit log

    Append-only and hash-chained. Audit fields keep keyed hashes, never raw IP addresses.

  • 12 h · 8 h idle

    Sessions

    A session ends after 12 hours, or after 8 hours without activity.

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-readable
GET /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.

Read the trust manifest

Plans

Two plans. The same checks.

Every plan includes the same checks; only the limits differ. Pricing on request during early access.

Cloud and Dedicated plans compared
LimitCloudDedicated
Systems25500
Data sources501,000
A separate database per customer Not included Yes
ChecksAll 13 RavensAll 13 Ravens
PricingOn requestOn request
Request early accessPrivate early access · invite-only

Both plans include

  • All 13 Ravens
  • The ordered inspection: Connect, Static posture, Detector
  • HIPAA Hawk and its 28 checks
  • Watch, every 6 hours by default
  • Shield, if you choose to install it
  • Evidence export and the hash-chained audit log
  • Customer API v1
  • The same retention: events 90 days, resolved findings 2 years, inspection runs 1 year, audit log kept

Early access

Request early access.

Secure Raven is private and invite-only today. Tell us what you run.

  • In push-probe mode, we hold no database password.
  • Findings come from fixed rules. No AI model reads your data.
  • Every privileged action lands in a hash-chained audit log.
What you run

We use these details only to review your early-access request.