Skip to main content

Documentation Index

Fetch the complete documentation index at: https://orbit-docs.devotel.io/llms.txt

Use this file to discover all available pages before exploring further.

ADR-005: BYO embedded-signup channels — no Orbit-side billing

Status: CURRENT Date: 2026-05-16

Context

Meta channels (WhatsApp, Instagram, Messenger) and Telegram broadcast all use embedded-signup / OAuth / paste-bot-token onboarding where the tenant owns the vendor account. Marking up Meta’s per-conversation rate without BSP (Business Solution Provider) status would violate Meta policy.

Decision

Any channel where the tenant connects their OWN vendor account is BYO. The vendor bills the tenant directly. Orbit is integration host only — no pricing_rates row, no DLR refund call, no admin pricing-picker entry.

Reason

Devotel is not a Meta-approved BSP. Even with BSP status, the clean GTM is “tenant owns commercial relationship; Orbit charges for platform value (agents, inbox, automations)” rather than carrier-rate arbitrage.

Consequences

  • WhatsApp, Instagram, Messenger, and Telegram broadcast paths have refundOnDlrFailure calls stripped.
  • dlr-*.ts handlers fire status updates only; no balance mutation.
  • Regression pin sms-dlr-no-refund.test.ts enforces the boundary across 3 billing classes.
  • Reviving billed mode requires BSP onboarding and an update to invariant #36.
  • Contrast: Email is resold through Orbit’s Resend account (see [[feedback_email_resold_not_byo]]).

Source memos

  • [[decision_whatsapp_byo_2026_05_12]]
  • [[decision_embedded_signup_byo_2026_05_12]]
  • invariants.md #36
  • [[feedback_whatsapp_byo_no_orbit_billing]]
  • [[feedback_email_resold_not_byo]]