Schema only
subscriptions.status = 'active'Active subscriptions1,284
Connect your Supabase organization and your GitHub repository. Supalens reads the schema and the code that gives it meaning, proposes KPI definitions you approve, then monitors them and investigates what changed.
Read-only data access · Human-approved monitors
The whole path
Nothing here needs your database password, and nothing here can write.
You authorize Supalens against your Supabase organization. The database password is never exposed by the Management API, so we never ask for it and never hold it.
Supalens mints a dedicated supalens_ro role in the project you pick, and stores only that role's credentials — encrypted per tenant.
Queries run as SELECT-only statements inside a READ ONLY transaction, with a statement timeout, a row cap and an audit record. No tool exists that writes.
Revoking the connection destroys the stored credentials. Your project keeps working; Supalens simply stops seeing it.
Pick one project to start with — production or staging. You can add the rest later.
Your database knows what exists. Your code knows what to count.
subscriptions.status = 'active'Active subscriptions1,284
status = 'active'AND deleted_at IS NULLAND trial = falseAND payment_status = 'paid'AND internal_account = falseActive subscriptions1,061lib/billing/mrr.ts:42
Illustrative values. No production database connected.
Valid SQL can still produce the wrong business answer.
That is why connecting GitHub is not an accuracy option — it is the reason Supalens exists. Supalens reads the rules from your repo, keeps them as SUPALENS.md, and every KPI and every question runs on top of them. Excluding cancelled subscriptions, filtering internal accounts, dropping refunds — nobody has to remember.
Set up once. From then on, Supalens watches the business for you.
One OAuth for Supabase, a GitHub App for the code. Read-only role, read-only permissions.
Entities and business rules, each with its code evidence. Approve what is right, fix what is not.
Review execution-verified KPI proposals and pick what to monitor. Definitions in plain language, SQL one click away.
Approved KPIs are checked on your plan’s cadence; when one breaks, Supalens investigates and posts to Slack.
Product preview · sample data. Illustrative values. No production database connected.
When an approved monitor fires, Supalens investigates the data and stored code context. Review confirmed facts and likely causes separately in Slack or email. An all-clear follows when the metric recovers.
Alert firing2:14 PM
₩3.1M−26%Baseline ₩4.2M
Failures at the payment-confirmation step most likely rose after the coupon migration shipped on 7/5 (0051_coupons.sql). Per the code context, review the checkout confirmation logic first.
Investigated by Supalens · the driver is a hypothesis to review
Slack · #alerts2:14 PM
Alert firing
Confirmed in data · Likely driver
Mail2:14 PM
[supalens] Daily revenue anomaly detected
owner@dailycart.co.kr
On recovery6:40 PM
Alert resolved
The value moved out of the alert condition and is back to normal. Current value ₩4.3M.
Illustrative values. No production database connected.
Read-only isn’t a promise — it’s the architecture. There’s no tool that writes, your credentials are sealed, and the analysis AI runs isolated, without them.
Your database credentials are envelope-encrypted with a per-organization key (AES-256-GCM). The master key that wraps it is never stored in the database, so a database dump alone can’t decrypt them. Plaintext never reaches your browser or the AI model.
Questions and monitors run read-only. Non-SELECT statements are rejected, and a READ ONLY transaction, statement timeout, and row cap are always applied. Supabase OAuth connections get a dedicated read-only role (supalens_ro) minted per project; directly connected databases run on the credentials you provide, wrapped in the same SELECT-only guard and READ ONLY transaction.
The analysis AI runs in a sandbox with credentials stripped from its environment — no shell, file, or network tools. Database credentials never enter the model process, and only pre-approved tools can run.
Row-level security is enabled on every user table. One analysis is bound to one organization, chosen by the server — never by the question or the model, so it can’t reach another org’s data.
We don’t replicate your whole database. During analysis, query results are sent to Anthropic (Claude), and we store the answer, a sample of up to 200 rows, your schema structure, the context extracted from code (SUPALENS.md), approved KPI definitions, and monitor events with their investigation results. Every query is audit-logged and auto-deleted after a set period, and deleting a data source or your account revokes the stored credentials at once — they can no longer be used.
Start free, move up as you monitor more.
$0
When you start watching metrics alone
Includes:
$89/mo
For SaaS teams just getting going
Everything in Free, plus:
$299/mo
For teams with more to watch
Everything in Basic, plus:
$899/mo
For large-scale operations, no limits
Everything in Standard, plus:
All prices are in USD. Start free — no credit card required. AI investigations run when a monitor fires.
No credit card · Read-only by design