Skip to main content

Secrets

Do not commit secret values. This document names required secrets only.

Supabase Edge Secrets

SecretUsed ByPurpose
SUPABASE_URLall functionsSupabase project URL
SUPABASE_SERVICE_ROLE_KEYall functionsServer-side database access
SUPABASE_ANON_KEYVercel-to-Edge executionPublic API key for function calls
ANTHROPIC_API_KEYFathom ingest, interview synthesis, Drive OCRExtraction, synthesis, and scanned/image text recovery
FATHOM_API_KEYfathom-sync, fathom-webhookFathom REST API
FATHOM_WEBHOOK_SECRETfathom-webhookSigned webhook verification
ASANA_API_KEYasana-sync, asana-actAsana REST API
ASANA_ACT_WRITES_ENABLEDasana-actExternal write operator switch
TOGGL_API_KEYtoggl-syncToggl API and Reports API
GDRIVE_SA_JSON / GOOGLE_DRIVE_JSONdrive-sync, calendar-sync, calendar-act, gmail-syncGoogle service account JSON
GOOGLE_CALENDAR_SUBJECTcalendar-sync, calendar-actOptional Workspace impersonation subject for domain-wide delegation
GOOGLE_GMAIL_SUBJECTgmail-syncRequired explicit mailbox for read-only domain-wide delegation
CALENDAR_ACT_WRITES_ENABLEDcalendar-actExternal Calendar write operator switch
HUBSPOT_SERVICE_KEYhubspot-syncHubSpot API
VOYAGE_API_KEYdrive-sync, fathom-sync, searchVoyage voyage-4 chunk embeddings and rerank-2.5 search reranking
SPINE_MCP_TOKENspine-mcp, cma-adminInteractive-agent reads and approval proposals; no board delivery
SPINE_MCP_STAGE_TOKENspine-mcp, cma-adminIndependent read-only report/staging credential
SPINE_MCP_LEARNING_TOKENspine-mcp, cma-adminIndependent reads + prompt_update proposals credential
SPINE_MCP_ORCHESTRATOR_TOKENspine-mcp, TriggerIndependent readiness, persistence, and delivery credential
SPINE_ORG_IDspine-mcpRequired tenant pin when the database contains multiple organizations
REPORT_REQUIRED_CONNECTORSspine-mcp, TriggerOptional readiness/refresh set override; values must match exactly

FATHOM_WEBHOOK_SECRET is set in Supabase.

Vercel Env Vars

VariablePurpose
SABLE_MODESet production for client-facing instances to disable demo fallbacks
PUBLIC_APP_ORIGINCanonical app origin for smoke tests and operator handoff
SUPABASE_URLWeb API Supabase access
SUPABASE_SERVICE_ROLE_KEYWeb API service role access
SUPABASE_ANON_KEYCalls from Vercel API to Edge Functions
NEXT_PUBLIC_SUPABASE_URLBrowser auth client config returned by /api/config
NEXT_PUBLIC_SUPABASE_ANON_KEYBrowser auth client config returned by /api/config
ANTHROPIC_API_KEY/api/chat, upload OCR fallback, legacy CMA demo routes
APP_TOKENLegacy token-gated demo fallback
VOYAGE_API_KEYUpload ingest, /api/search, and /api/chat retrieval with Voyage voyage-4 + rerank-2.5

Docs Search Env Vars

Hosted Docusaurus search is optional. Add all three to the docs deployment to show the search box:

VariablePurpose
DOCSEARCH_APP_IDAlgolia DocSearch app ID
DOCSEARCH_API_KEYPublic DocSearch search key, not an admin key
DOCSEARCH_INDEX_NAMEDocs index name

Operator Switches

External writes must be guarded. Current write switches:

ASANA_ACT_WRITES_ENABLED=true
CALENDAR_ACT_WRITES_ENABLED=true

Leave each unset unless the team is ready for approved proposals to become real external writes.

Trigger.dev Report Variables

VariablePurpose
SUPABASE_URL, SUPABASE_ANON_KEY, CRON_SECRETInvoke scheduled connector and CMA Edge entry points
SUPABASE_SERVICE_ROLE_KEYPersist Trigger run state; server-side only
SPINE_MCP_ORCHESTRATOR_TOKENPersist and deliver validated drafts through the governed MCP contract
SABLE_REPORT_DELIVERY_MODERequired fail-closed switch: shadow or live
SABLE_ORG_SLUGRequired when more than one organization exists
ASANA_WORKSPACE_GIDRequired explicit workspace for the scheduled Asana refresh

BOARD_RECIPIENTS remains locked in Supabase. Shadow mode sends only to the first configured address.