TFD Tools and Service Relationships

External tools are mediated by backend-owned adapters, durable inboxes, snapshots, and worker processes

TFD Tools and Service Relationships External tools are mediated by backend-owned adapters, durable inboxes, snapshots, and worker processes AWS Cognito · Hosted UI · JWT · staff provisioning · Architecture component AWS Cognito Hosted UI · JWT · staff provisioning Stripe + NMI · snapshots · direct subscription creation · Architecture component Stripe + NMI snapshots · direct subscription creation ActiveCampaign · contact snapshots · live tag catalog · Architecture component ActiveCampaign contact snapshots · live tag catalog Google Sheets + Practice Better · onboarding · acquisition · client records · Architecture component Google Sheets + Practice Better onboarding · acquisition · client records Backoffice API + Cron Workers · provider adapters · inboxes · snapshots · public APIs · Architecture component · Integration boundary Backoffice API + Cron Workers provider adapters · inboxes · snapshots · public APIs Integration boundary YouTube + Outline · resource lookup · video import · Architecture component YouTube + Outline resource lookup · video import Slack · notification webhook · Architecture component Slack notification webhook Zoom · webhooks · OAuth · Meeting SDK · Architecture component Zoom webhooks · OAuth · Meeting SDK AddPipe + Trainerize · signed video webhook · staged import · Architecture component AddPipe + Trainerize signed video webhook · staged import Recorder + Finalizer · C++ capture · Node remux/normalize · Architecture component · No media through API Recorder + Finalizer C++ capture · Node remux/normalize No media through API Meeting Streamer · Isolated playback share · Architecture component · Not a recorder Meeting Streamer Isolated playback share Not a recorder Private AWS Storage · S3 normalized/final MP4 · presigned playback · Architecture component Private AWS Storage S3 normalized/final MP4 · presigned playback Redis + PostgreSQL · streams/state + durable metadata · Architecture component Redis + PostgreSQL streams/state + durable metadata webhooks + metadata Streams v1 · requests/results tfd:streamer commands allowlisted HTTPS source Legend Security External Backend Cloud Database

Adapter rule

  • • All About You confirmed-pair conversion is computed in the Sales overview read, using existing Gold. Mixed-quality ranges exclude both numerator and denominator for unconfirmed groups and keep source precedence and date filtering. The rate is the ratio of sums, never a mean of provider or monthly percentages; no provider calls or new import are required.
  • • Consultations uses the existing read-only Google Sheets client with yearly A:H allowlists. Only dated primary counters contribute; weekly totals corroborate missing zeros and cumulative totals are excluded. Sales owns dataset-isolated review/publication, daily Gold, scheduled-denominator conversion and monthly spreadsheet precedence over individual Airtable facts. Notes and person-level fields are not imported.
  • • Frontend code never exposes provider credentials
  • • All About You reuses the same read-only Google Sheets client, bounded to yearly A:I metric ranges with unformatted serial dates/counts. The tab year corrects session dates. Sales retains separate aggregate and individual Airtable Silver and one canonical All About You Gold read contract, prioritizing spreadsheet monthly coverage and never summing overlapping providers. Provider secrets and private lineage stay server-side.
  • • Raw provider payloads stay inside integration inboxes
  • • Domain modules receive normalized internal contracts
  • • Acquisition imports discover annual tabs and read only bounded metric ranges, exposing aggregate reconciliation rather than raw workbook cells
  • • AddPipe provider URLs remain intake evidence; analysis resolves only the stable private video id
  • • Practice Better raw data is staged first; authorized staff explicitly copy notes and tags to existing VIP clinical records through a synchronous public contract
  • • Clinical exposes a VIP care workspace with front/back body observations, revision history, copied source records and authorized existing video playback; all remain in the modular monolith
  • • Clinical exposes an explicitly authorized, VIP-scoped YouTube catalog from current copied note revisions. The frontend opens an official privacy-enhanced YouTube iframe only on staff selection; only a validated video id and origin referrer cross to YouTube, never VIP identifiers or note content. Existing recording permissions remain separate

Import rule

  • • Stripe and ActiveCampaign contacts first become reviewable snapshots
  • • NMI custom subscription creation uses a tokenized payment method and does not import provider records
  • • ActiveCampaign tag browsing and reviewed contact reassignment are normalized Marketing operations
  • • Google Sheets access is read-only
  • • The Registration workbook remains external bronze; Sales owns versioned Silver facts and atomic FBF registration Gold. Annual recovery and authorized dashboard reads use stored data only. FBF freshness and failures remain independent of sales history; missing data never becomes mock counts
  • • Trainerize snapshots and bounded calendar reads map through Delivery ImportProgramDraftService: exercise assets, YouTube links and level-local days. Versioned ImportedProgramDraft receipts upgrade legacy drafts by appending a version; previous versions and runs remain unchanged
  • • Practice Better client imports persist profiles, tags and full session notes in Integrations staging through a dedicated five-minute scheduled process

Media rule

  • • Zoom participant capture runs only in the recorder; movement lab tab capture runs locally in the staff browser
  • • The finalizer also downloads bounded allowlisted AddPipe sources and creates H.264 320x180/15 fps, yuv420p + AAC 128 kbit/s faststart MP4
  • • Finalizer uploads directly to private S3 and returns stored/failed metadata through its dedicated stream
  • • Redis and the API carry control data and metadata only; Delivery availability waits for confirmed storage
  • • The movement lab opens YouTube in a separate tab and records staff-approved tab playback locally in real time through getDisplayMedia and MediaRecorder. The existing yt-dlp/bgutil finalizer import remains a legacy backend capability, outside the active lab UI flow.
  • • Session streaming uses tfd:streamer keys only and never shares recorder streams, recording S3, or the finalizer