← back
bandsbandsbands / public compliance documentation

SMS consent documentation

prepared for Twilio A2P 10DLC registration
last updated 2026-05-03
FOR REVIEWERS: this is the public consent-documentation page referenced in the bandsbandsbands A2P 10DLC campaign registration. To complete the opt-in flow end-to-end without entering a real phone, visit /compliance/twilio-login — enter any 10-digit US phone number and use code 123456 on the verification step. The flow records a row in sms_consent with the verbatim disclosure text shown, identical to the production flow at /join-sms. All other consent flows described below are live at the URLs given.

1. business overview

bandsbandsbandsis a personal digest tool for live music fans. it tracks bands a user chooses to follow, sources tour dates and news for those bands from public sources, and delivers a daily digest via the user's chosen messaging channel. the service also generates band and show recommendations based on a user-curated taste graph.

legal entity
Rainbow Rabbits Games LLC
program name
bandsbandsbands
website
https://bandsbandsbands.app
support email
support@bandsbandsbands.app
industry
technology / music
SMS sender number
+1 (206) 737-2615

1a. consent model

Two-tier consent. Phone entry consents to a one-time TRANSACTIONAL SMS — the 6-digit verification code from Twilio Verify used to confirm number ownership. A separate, OPTIONAL, unchecked-by-default checkbox captures express written consent for the recurring MARKETING program: the daily digest, BREAKING tour announcements, band and show recommendations, and ticket reminders.

Marketing consent is not a condition of completing the verification transaction. A user can enter a phone number and verify it via OTP without opting in to the recurring program. When the marketing checkbox is unchecked, server-side we still record the consent event (with marketing_opt_in: false) but we do not insert an SMS notification channel and we do not send the welcome message. The checkbox carries the verbatim phrase "Consent is not a condition of purchase." per CTIA / TCR guidance.

2. SMS use cases

2FA / OTPphone verification

users authenticate their phone number via 6-digit OTP using Twilio Verify. this is the entry point for both new signups and existing-account additions of an SMS channel.

provider: Twilio Verify (managed OTP service, separate from A2P 10DLC traffic)

recurringdaily digest

once a user has opted in, they receive a daily digest of new tour dates, news, and recommendations for the bands and cities they have explicitly chosen to follow. digest frequency is typically 1 message per day. burst frequency (1-3 messages per week) occurs when a band the user follows announces a tour.

transactionalshow reminders

when a user marks a show as "want tickets" or "going" via the agent interface, the service may send a one-time reminder message ahead of the show date with venue and time details.

3. consent collection flow

there are two ways a user provides SMS consent. both flows are live at production URLs.

path A: new-user signup

  1. user visits bandsbandsbands.app/auth and clicks the "sign in with SMS" button.
  2. user lands on bandsbandsbands.app/join-sms and enters their mobile phone number and display name.
  3. the transactional disclosure is shown inline under the phone field, and a separate UNCHECKED-BY-DEFAULT marketing opt-in checkbox is rendered below it (see section 5 verbatim). marketing consent is optional — the Continue button is enabled by phone validity alone, not by the checkbox.
  4. user clicks Continue. server calls Twilio Verify to send a 6-digit OTP.
  5. user enters the OTP. server verifies via Twilio Verify and creates the user account. server writes a consent record (section 8) capturing both disclosure texts and the actual checkbox state in marketing_opt_in.
  6. if the marketing checkbox was checked, server provisions an SMS notification channel and sends a one-time welcome SMS. if unchecked, the account is created with no SMS channel — the user can opt in to the digest later via settings.

path B: existing-user adds SMS to their account

  1. authenticated user visits bandsbandsbands.app/settings.
  2. user clicks "ADD SMS" in the CHANNELS section.
  3. user enters phone number; same two-piece disclosure as path A — inline transactional text under the phone input, separate optional marketing checkbox below (section 5 verbatim).
  4. user clicks Continue. server calls Twilio Verify to send a 6-digit OTP.
  5. user enters the OTP. server verifies and writes a consent record. if the marketing checkbox was checked, server writes a notification_channels row with channel_type='sms'and sends a welcome SMS. if unchecked, no channel is added.

4. live URLs (visit to verify the flow)

a separate undocumented reviewer URL is provided in the campaign registration's reviewer-notes field. it is structurally identical to /join-sms (signup is fully self-serve) but tags the reviewer's test session with a distinct source_url in our consent records, so we can later distinguish reviewer traffic from real users in the TCPA audit trail.

5. consent disclosure language (verbatim)

two pieces of consent text are shown on the phone-entry screen. the first sits inline under the phone input and covers the transactional verification SMS. the second is on an unchecked-by-default checkbox and covers the recurring marketing program (the daily digest). marketing opt-in is optional — phone verification completes either way.

phone-entry disclosure (transactional)

"By entering your phone number and clicking "Continue", you consent to receive SMS messages from bandsbandsbands, including a verification code. Msg & data rates may apply. Reply STOP to cancel. Reply HELP for help. SMS Terms & Privacy Policy"

marketing opt-in checkbox (unchecked by default, optional)

"I also agree to receive promotional messages from bandsbandsbands (e.g. daily digest, tour announcements, band recommendations). Msg frequency varies. Consent is not a condition of purchase."

both texts are logged into sms_consent.disclosure_text_shown along with the actual checkbox state (recorded as sms_consent.marketing_opt_in) so we can prove what the user saw and what they affirmatively consented to.

6. sample messages

2FAOTP verification (Twilio Verify)
Your bandsbandsbands verification code is: 123456
transactionalwelcome message after opt-in
bandsbandsbands: you're subscribed. you'll get a daily digest of shows for the bands you follow. reply STOP to unsubscribe.
recurringBREAKING tour announcement
BREAKING: Osees just announced a tour. Sept 14 at Showbox Seattle. Tickets on sale Friday at noon. https://bandsbandsbands.app/s/abc123 Reply STOP to opt out.
transactionalshow reminder
Tonight: Boys at Neumos, 8pm. You said you wanted tickets - last few left. https://bandsbandsbands.app/s/xyz789 Reply STOP to opt out.
recurringband recommendation
You might like Wavves - they share members with FIDLAR and Cloud Nothings, both bands you follow. https://bandsbandsbands.app/b/wavves Reply STOP to opt out.
recurringshow recommendation (taste-based)
SLIFT is playing Neumos Oct 20. Sounds like Black Angels and Acid Mothers Temple, two bands you follow. https://bandsbandsbands.app/s/slift-neumos Reply STOP to opt out.
recurringdigest empty state
No new shows in Seattle today for bands you follow. We'll keep watching - 4 of your bands have tours rumored for spring. Reply STOP to opt out.

7. opt-out and HELP handling

recognized opt-out keywords

STOPSTOPALLUNSUBSCRIBECANCELENDQUITREVOKEOPTOUT

STOP response (auto-replied by Twilio)

You have successfully been unsubscribed. You will not receive any more messages from this number. Reply START to resubscribe.

HELP response (auto-replied by Twilio)

bandsbandsbands: live music notifications for bands you follow. Reply STOP to unsubscribe. Msg&Data Rates May Apply. Support: support@bandsbandsbands.app

opt-out keywords are processed immediately by Twilio's built-in Advanced Opt-Out handler at the messaging-service level. additionally, users can opt out by removing the SMS channel from their settings page on the website.

8. record retention

we retain the following consent records for 4 years per TCPA requirements:

data pointdescription
timestampwhen consent was provided (UTC)
phone numbernormalized to E.164 format
source URLthe page where the user opted in (/join-sms or /settings)
consent disclosureexact verbatim text shown to the user at opt-in
IP addressfor fraud prevention and audit
user agentbrowser/device information
user_idif the user is authenticated (path B); null on path A
marketing opt-in flagalways false; we do not separate transactional vs marketing opt-in for this program

consent records are stored in the sms_consent Postgres table on Supabase. access is restricted to the application service role.

9. legal documents

document
terms of service
bandsbandsbands.app/legal/terms
document
privacy policy
bandsbandsbands.app/legal/privacy
document
SMS terms
bandsbandsbands.app/legal/sms-terms