Last updated: April 27, 2026
OtterTile (ottertile.com) is a productivity app operated by Ken Liang, located at 930 Roosevelt, Irvine, CA 92620. OtterTile sends account-triggered notifications only — specifically alarms, task reminders, and account alerts that the user explicitly configures. We do not send marketing, promotional, advertising, or lead-generation messages of any kind. Every SMS a user receives is the direct result of an alarm or reminder they personally created.
Users visit ottertile.com and create a free account by providing a display name, email address, and password. No phone number is collected at registration.
No phone number is requested. No SMS consent is collected at this stage.
After logging in, the user taps the Settings section in the app. The Settings panel contains notification preferences including a “Notify me via” dropdown.
The user opens the “Notify me via” dropdown and selects one of the SMS-based options:
The phone number field and consent checkbox only appear after the user selects “SMS only” or “SMS + Email”. They are hidden for all other channel selections.
Once an SMS channel is selected, a Phone number input field appears. The user must enter their mobile phone number. A hint reads: “Include country code for international numbers (e.g. +44). US numbers work without a prefix.”
Below the phone field, a clearly labeled consent checkbox appears with the following exact text:
This checkbox is unchecked by default. The user must affirmatively check the box. The “Save Settings” button will reject the save with an error message if the box is not checked and an SMS channel is selected.
The user clicks Save Settings to finalize their opt-in. At this point, the server:
The consent timestamp is immutable — once recorded, subsequent settings saves do not overwrite it. The original consent date, time, IP, and method are preserved for audit purposes.
Immediately after the first successful save with SMS consent, the user receives a confirmation text message:
This confirms the user’s consent and provides immediate STOP/HELP disclosure in the very first message they receive.
Even after opt-in, every SMS send is gated by server-side checks:
sms_consent_at field must be set (consent was given)sms_opt_out_at field must be NULL (user has not replied STOP)Users can opt out at any time via any of these methods:
All STOP, STOPALL, UNSUBSCRIBE, CANCEL, END, QUIT, REVOKE, OPTOUT, OPT OUT, and OPT-OUT keywords are honored immediately.
When a user replies HELP (or INFO, SUPPORT) to any SMS, they receive:
Users who previously replied STOP can re-subscribe by texting START (or UNSTOP, YES). The system clears their opt-out flag and sends:
Every outbound SMS is formatted as follows:
| Field | Description | Example |
|---|---|---|
| sms_consent_at | ISO 8601 timestamp of consent | 2026-04-22T14:30:00.000Z |
| sms_consent_method | How consent was collected | web_checkbox_settings |
| sms_consent_ip | IP address at time of consent | 203.0.113.42 |
| sms_opt_out_at | Opt-out timestamp (NULL if active) | NULL |
Mobile information (phone numbers and SMS opt-in data) will not be shared with third parties or affiliates for marketing or promotional purposes. All other categories of personal data exclude text messaging originator opt-in data and consent; this information will not be shared with any third parties. SMS-related data is shared only with Twilio, our SMS delivery provider, solely for the purpose of delivering messages.
For questions about OtterTile’s SMS program: