# Scribase for SaaS teams

> Scribase for SaaS: multi-tenant Postgres with row-level security, preview environments per pull request, and a flat price, not a bill that grows per signup.

Source: https://scribase.com/for/saas

A SaaS backend has two jobs that fight each other: isolate every tenant perfectly, and stay affordable while you are still finding product-market fit. Scribase gives you real Postgres with row-level security for isolation, full preview environments so changes ship safely, and a flat price with hard caps so the bill does not outrun revenue.

## What this audience is building

- Tenant isolation that is enforced once, not re-checked in every query
- A staging environment that mirrors production for each change
- A backend cost you can put in a budget before you have revenue

## How Scribase meets each need

**Isolation in the database with RLS** — Scope rows by tenant and enforce it with Postgres row-level security, so REST, realtime, and SQL all honor the same rule. Policies are linted for cost, so isolation stays fast as tables grow.

**A full environment per pull request** — Every pull request can get a preview environment — database, auth, and storage — that is secret-scrubbed and swept when the branch closes, so a schema change is reviewed against real behavior.

**Flat pricing, caps not meters** — Verified restore, preview branches, and a custom domain are in the plan. You forecast a number instead of a usage curve, and buy a capacity pack only if you outgrow the caps.

_# tenant isolation is one policy, enforced everywhere_

```
alter table projects enable row level security;

create policy tenant_isolation on projects
  using (org_id = auth.jwt() ->> 'org_id');
```

## FAQ

**How does Scribase keep tenants isolated?**

With Postgres row-level security. You scope rows by tenant and enforce it in a policy that the REST API, realtime, and direct SQL all honor, and Scribase lints the policy for cost so it stays fast.

**Will my bill grow with every customer?**

No. There are no per-user or per-GB meters. You pick a plan with hard caps and buy a capacity pack if you outgrow it, so the cost stays forecastable.

## Related

- [SaaS backend use case](https://scribase.com/use-cases/saas-backend)
- [Row-level security guide](https://scribase.com/guides/write-row-level-security-policies)
- [Pricing](https://scribase.com/pricing)