Room · LR-004Mission · Operator DocumentationHelp center
All docs

Reference

Data model

The Supabase tables that back LaunchRoom and how they relate.

Overview

All app data is stored in Postgres via Supabase. Every table has Row-Level Security policies — see /docs/security-notes. Tables are scoped by organization_id or launch_id via the security-definer functions is_org_member and user_can_access_launch.

Identity and workspace

ColumnTypeNotes
profilesuser-scopedDisplay name, avatar, onboarding flag. One row per auth user.
organizationsowner-scopedWorkspace. Owned by a single auth user via owner_id.
organization_membersmembershipLinks users to organizations with a role.

Launches

ColumnTypeNotes
launchesorg-scopedName, product, audience, goal, date, status, readiness.
launch_blueprintslaunch-scopedStrategic spine: summary, audience, goal, channels, metrics, risks.
launch_taskslaunch-scopedTitle, description, owner, due date, status, priority.
launch_assetslaunch-scopedName, type, owner, due date, status, file URL.
message_blockslaunch-scopedTitle, type, audience, content, status (draft/review/approved).
outreach_contactslaunch-scopedName, type, channel, status, follow-up date, notes.
launch_timeline_eventslaunch-scopedTitle, phase, date, time, owner, status.
launch_feedbacklaunch-scopedSignals: source, category, sentiment, content.
launch_debriefslaunch-scopedSummary, what worked, what underperformed, themes, next actions.

Platform

ColumnTypeNotes
activity_logsorg-scopedAudit trail. Insert-only by members; no update/delete.
notification_settingsuser-scopedPer-user product/launch notification toggles.
email_preferencesuser-scopedMarketing/product/educational opt-ins; preference_token for unauthenticated changes.
consent_recordsuser or anonAppend-only consent audit. Insert by anyone, select only by the owning user.
email_suppressionssystemSuppression list. No client RLS access; managed by server functions.
unsubscribe_tokenssystemHashed tokens for unsubscribe links. No client access.
contact_messagespublic insertInbound contact form. Insert-only from anon/authenticated.
email_eventssystemProvider webhook events. No client access.

Related docs