SMS Consent Process

Effective date: 2026-04-28

This page documents how Beacon Safe (operated by Copperline Labs LLC) collects explicit opt-in consent from emergency contacts before sending SMS or automated voice-call alerts. Beacon Safe's toll-free and 10DLC numbers send zero outbound messages to a contact's phone until that contact has personally submitted an opt-in on a Beacon Safe-branded web form. There is no "consent request SMS" — the very first SMS a contact receives from us is the alert they have already opted in to.

Two independent SMS audiences, each with its own consent flow:

1. Account holders — opt in to their own SMS check-in reminders inside the app.

2. Emergency contacts — opt in via a hosted web form, after the account holder shares an invite link through their own iMessage / WhatsApp / email / in person.

Account Holder Opt-In

After creating a Beacon Safe account, users can enable SMS check-in reminders by navigating to Settings → Notifications and toggling on "SMS alerts." The toggle screen shows the following disclosure:

By enabling SMS, you agree to receive text messages from Beacon Safe about your check-ins. Message frequency is event-driven. Message and data rates may apply. Reply STOP to opt out, HELP for help. Privacy: beaconsafe.app/privacy. Terms: beaconsafe.app/sms-terms.

SMS is optional — Beacon Safe is fully usable with email-only notifications. Users can disable SMS at any time from the same settings screen, or by replying STOP to any message.

Emergency Contact Opt-In (Share-Sheet Flow)

When an account holder adds an emergency contact in the Beacon Safe app, the following consent flow runs. Beacon Safe never sends an SMS to the contact during this flow.

  1. Contact added in-app. The Beacon Safe user enters the name, phone number, and email of someone they have a pre-existing personal relationship with (a family member, close friend, etc.).
  2. Single-use consent token generated server-side. The Beacon Safe backend generates a random, single-use consent token and binds it to the new contact record. The full token URL is of the form https://beaconsafe.app/confirm/<token>, which redirects to the hosted consent form.
  3. Native share sheet opens on the user's device. The app opens the iOS UIActivityViewController / Android ACTION_SEND intent with a pre-composed invite message and the consent URL. The Beacon Safe user — not Beacon Safe's servers — chooses the delivery channel. Typical channels: iMessage, WhatsApp, Signal, email, or simply pasting the link in person. Beacon Safe's toll-free / 10DLC number is not involved at this step.
  4. (Optional) backup email. As a non-SMS fallback, Beacon Safe sends one transactional email to the contact's email address (from alerts@mail.beaconsafe.app, delivered via our email provider) containing the same consent URL, so the contact has an alternate path to the form if the shared link is missed.
  5. Contact lands on a hosted, branded consent form. Tapping the link loads a Beacon Safe-branded web form that names the account holder, identifies Beacon Safe and Copperline Labs LLC as the sender, describes exactly what messages will be sent, lists STOP / HELP keywords, and links to the Privacy Policy and SMS Alert Terms.
  6. Two independent, unchecked TCPA opt-ins. The form presents two separate checkboxes — one for SMS safety alerts and one for automated prerecorded voice calls. Both are unchecked by default; the contact must affirmatively tick at least one to enable submission.
  7. Submission writes an immutable consent log row. On submit, Beacon Safe writes an append-only row to a consent_log table recording the timestamp, IP address, User-Agent, Referer, form version, privacy and terms versions, and the exact checkbox label text shown at the moment of consent.
  8. Only now does our number become eligible to message the contact — and only on the channels the contact selected. If they checked SMS only, they will never receive a voice call. If they checked neither, no message of any kind is ever sent.

Consent Form — What the Contact Sees

Below is a representation of the consent form the emergency contact submits. Both checkboxes are unchecked by default and the submit button is disabled until at least one is selected.

Confirm alerts for Daniel
Choose how you'd like to be reached if Daniel misses a safety check-in.

I agree to receive automated SMS alerts from Beacon Safe when Daniel misses a safety check-in. Message frequency varies. Message and data rates may apply. Reply STOP to unsubscribe, HELP for help.

I agree to receive automated, prerecorded voice calls from Beacon Safe for emergency alerts about Daniel. Standard call rates may apply. I can end the call at any time.

Confirm

Check at least one box to continue

Sample Alert Messages

After consent has been recorded, the contact may receive 1–3 messages per missed-check-in event (initial alert, optional follow-up, resolution). Examples:

Beacon Alert: Daniel missed their check-in. We're trying to reach them. Reply: 1=Confirmed safe, 2=Acknowledged, 3=Couldn't reach them, 4=I'm checking on them. Reply STOP to opt out, HELP for help. Msg & data rates may apply.
Beacon Safe: Still no response from Daniel. Please try to reach them. Reply 1=Safe, 2=Checking on them. STOP to end. HELP for help.
Beacon Safe: Daniel is confirmed safe. Thanks for being their emergency contact. Reply STOP to opt out.

Frequency

Messaging is strictly event-driven. A typical opted-in contact receives 0 messages per month unless the account holder fails to check in. A single missed-check-in event produces up to 3 messages.

Opt-Out

Contacts can revoke consent at any time by replying STOP to any message. STOP removes the number from all future sends and triggers one confirmation message. Replying HELP returns support contact information. Contacts can also email support@beaconsafe.app to be removed.

Evidence Retained

Each opt-in writes an append-only row to Beacon Safe's consent_log table containing:

Records are retained for 6 years and can be produced on request to verify any individual opt-in.

Code References

Beacon Safe is closed-source, but the following modules implement this flow:

At no point in this flow does Beacon Safe call our SMS provider's messaging API for the contact's phone number. That messaging API is only invoked after a consent_log row exists for the channel being used.

Sender Numbers

Once a contact is opted in, alerts are sent from the Beacon Safe Alerts program. The current US sender numbers are:

Contact

Questions about this consent process or about a specific opt-in record?

Copperline Labs LLC (DBA Beacon Safe)
30 N Gould Street, Ste N, Sheridan, WY 82801
support@beaconsafe.app