# Supabase

> What Stableship reads from your Supabase project, what it never touches, and how the private copy is built.

## Connect

In setup, choose **Connect Supabase**. Supabase asks you to approve read-only access; then pick the project behind your app. You can revoke the access in Supabase at any time.

## What Stableship can reach

Read-only access to your projects, your database structure and your Edge Functions list. That is enough to learn your tables, roles, policies and functions, and who your users are.

- **No write access.** Your live project is never written to.
- **No customers' rows.** Stableship reads structure, not data. The one exception is settings tables you approve during setup, such as products, plans or flags: tables with no people or customer accounts in them. They are read at each audit, never written, and never stored by Stableship.
- **No auth settings or secrets.**

## The private copy

For each run, Stableship builds a temporary Supabase project of its own from your migrations and Edge Functions, plus any settings tables you approved, and runs every active test there as each kind of user. The copy is deleted after the run.

Changes made only in the Supabase dashboard, never in a migration, are not in the copy. The report says what it could not test and why.

## No Supabase account?

- **Lovable** manages the database for you. Choose **Build from my migrations** to build the copy from the migrations in your repository.
- **Bolt's built-in database**: claim it to Supabase in Bolt first, then connect it.
- **Any other database** (plain Postgres, Firebase, MongoDB): not supported yet. Choose **Not on Supabase?** in setup to tell us your stack, and we email you when we support it.

The details are in [Connecting Supabase](/docs/help/connecting-supabase).

## Testing checkout

If your app takes payments, you can add a Stripe test key (it starts with `sk_test_`) so checkout is tested end to end. A live key is refused, and production keys are never asked for or stored.

## Disconnect

Revoke Stableship's access in your Supabase account settings. **Delete workspace** in Stableship's Settings also revokes it, along with every other connection.
