Enterprise

Prove your database isolates tenants.

Row-Level Security and function logic keep tenant A from seeing tenant B. seccover proves it stays true as the code keeps shipping.

Run it

The database URL goes in the DATABASE_URL environment variable. There is no command-line flag for it.

export DATABASE_URL=postgresql://user:pass@host:5432/mydb
unitautogen seccover --schema public

On Windows PowerShell, set it with $env:DATABASE_URL="postgresql://user:pass@host:5432/mydb". The standard PG* variables work too. Connecting →

It picks up your Enterprise licence file automatically. On Supabase, run unitautogen --supabase seccover --schema public from your project. It connects to the local Supabase database itself.

What seccover checks

Your RLS policies, and the objects that run with their owner's privileges and can bypass them.

The Data security coverage report

Dated and reproducible. A contents index, then numbered chapters, laid out like the HIPAA report.

Data security coverage report with its contents, four summary tiles, one card per check and the ranked What to fix list
A sample run on a test schema. 8 of 17 functions leak, and each is listed under What to fix with the change that closes it.

Two layers where tenant data leaks

A test at one layer says nothing about the other.

rlsautotest

Policy layer
  • Proves each RLS policy, per table, per command and per identity
  • Fails CI on a reachable table with no policy
  • Names every SECURITY DEFINER function, view and trigger as a suspect

It cannot judge the suspects; it sees that code bypasses RLS, not whether it leaks.

rlsautotest, free and open source →

UnitAutogen seccover

Policy and code layers
  • Tests every RLS policy, an improved version of the rlsautotest checks
  • Runs each suspect as two tenants with generated data on both sides
  • A verdict per routine, enforced or leaking, with the table, command and channel
  • A PII pass for personal data escaping through error messages

Covers both layers in one run, in the Enterprise edition.

seccover, in the UnitAutogen engine →

Start free with rlsautotest for the policies. Use seccover to cover both layers.

Evidence, not a certificate

What platforms suggest

seccover checks exactly what PostgreSQL, Supabase and Neon tell you to watch.