---
id: "supabase_secret_key"
kind: "datatype"
status: "draft"
is_pii: false
categories: ["secrets"]
langs: ["common"]
quality: 70
url: "https://registry.apicrafter.io/datatype/supabase_secret_key"
---

# Supabase secret key (`supabase_secret_key`)

> **Draft.** Draft records have not been reviewed yet and may be incomplete or wrong; do not treat them as authoritative for legal or compliance decisions.

Secret API key of a Supabase project, which bypasses row level security and must stay on the server. Supabase documents that secret keys start with sb_secret_ and are short strings, not JWTs; the legacy service_role key is a JWT and is the datatype jwt. The vendor does not document the length or the characters after the prefix; the regexp accepts letters and digits.

- Parent datatype: `api_key`
- Personal data (PII): no
- Categories: Secrets and credentials (passwords, keys, tokens) (secrets)
- Countries: global
- Languages: Common to most languages (common)
- Classification: identifier

## Detection

Regular expression (Python `re`):

```
^sb_secret_[A-Za-z0-9_-]+$
```

## Examples

- `sb_secret_` (invalid example) — Prefix without the secret

## Supported by tools

- `datadogsds`
- `githubsecretscanning`

## Sources

- doc: <https://supabase.com/docs/guides/api/api-keys>

## Quality

Score 70/100. Missing: examples, mapping (Wikidata, Schema.org, ...), translation.

JSON: <https://registry.apicrafter.io/api/v1/datatypes/supabase_secret_key.json> · Edit: <https://github.com/apicrafter/metacrafter-registry/edit/main/data/datatypes/any/secrets/supabase_secret_key.yaml>
