Supabase

Connect a project to Supabase once, and ApiVault keeps what it manages there in step with your keys.

How it works

The Supabase integration pushes one ApiVault environment into a Supabase project's Edge Function secrets. Functions see a changed secret as soon as the sync finishes; nothing needs redeploying. Syncing runs on the same triggers as Vercel: key changes when auto-sync is on, the retry sweep, and Sync now.

Connecting Supabase

On Integrations, click Connect Supabase. Supabase asks you to choose one organization and approve ApiVault's access to its projects and secrets, then sends you back to the project's Supabase page. To sync to projects in another organization, click Connect Another Organization; each organization gets its own connection.

What ApiVault changes in Supabase

Supabase does not record who created a secret, so ApiVault keeps its own list of the secrets it created for each link and only ever updates or deletes those. If a secret you created yourself has the same name as a key, ApiVault skips the key and reports a conflict; delete or rename your secret in Supabase, then click Sync now. Supabase allows at most 100 secrets per project, not counting its built-in SUPABASE_ secrets; keys beyond that are reported as over limit.

A key's name is used as the secret name exactly. Names must start with a letter or underscore, contain only letters, digits and underscores, and must not start with SUPABASE_, which Supabase reserves. Keys with other names are skipped and listed in the sync's issues.

Access, custom vault keys and removal

Projects with a custom vault key work as they do for Vercel: auto-sync is off, and Sync now asks for the key. If the organization stops authorizing ApiVault, the connection shows Access lost, its links show Action needed and owners and admins are notified; click Reconnect to resume. Revoking ApiVault in Supabase does not delete the secrets it created.

Unlink deletes the secrets ApiVault created in that Supabase project, then removes the link; Disconnect unlinks every project and then revokes ApiVault's access, unless another ApiVault project is still connected to the same organization: Supabase would revoke that project's access too, so the authorization stays until the last one disconnects. If the Supabase project was deleted, the link is removed right away. If the connection lost access, the secrets cannot be deleted and Remove anyway lists the ones left in Supabase. The statuses match Troubleshooting by status, with Supabase in place of Vercel.