Your friend has an iPhone, which has aggressive SMS filtering that blocks messages from unknown numbers, especially automated/business numbers like Twilio.
iPhones automatically filter SMS from:
- Unknown business numbers
- Automated services
- Numbers not in contacts
- Numbers flagged as potential spam
Filtered messages go to Messages > Filters > Unknown Senders (not the main inbox).
Your friend should check:
- Open Messages app
- Look for "Filters" at the top
- Tap "Unknown Senders"
- Look for your verification codes there
- Find out what Twilio number you're sending from
- Have your friend add that number to their contacts
- This bypasses the filter completely
- Go to Settings > Messages
- Turn OFF "Filter Unknown Senders"
- All SMS will go to main inbox
You need to check what number Supabase is configured to send from:
- Go to your Supabase project dashboard
- Navigate to Authentication > Settings > SMS
- Look for the configured phone number
- Go to Twilio Console
- Go to Phone Numbers > Manage > Active numbers
- Note your SMS-enabled number
I can create an endpoint that shows the configured sending number:
// Add to your debug endpoint
export async function GET() {
return json({
twilioPhoneNumber: process.env.TWILIO_PHONE_NUMBER || 'NOT_SET',
twilioMessageServiceSid: process.env.TWILIO_MESSAGE_SERVICE_SID || 'NOT_SET',
// Note: If using Message Service, the actual sending number may vary
});
}Run this to see what number is configured:
curl -s http://localhost:8080/api/auth/debug-sms-config | jq '.diagnostic.config'Before making any changes, have your friend check Messages > Filters > Unknown Senders.
Have your friend add the Twilio number to their contacts as "QryptChat Verification" or similar.
Send another verification code and see if it arrives in the main inbox.
This explains everything:
- ✅ Your number works: It's probably in your contacts or you've received from it before
- ❌ Friend's number doesn't work: iPhone filtered it to Unknown Senders
- ✅ API shows success: Twilio delivered it successfully
- ❌ Friend doesn't see it: It's hidden in the filtered folder
Some Twilio numbers are less likely to be filtered:
- Local area code numbers
- Numbers with better reputation
- Toll-free numbers (800, 888, etc.)
Messaging Services can improve delivery by:
- Using multiple sending numbers
- Better carrier relationships
- Automatic failover
Short codes (5-6 digit numbers) are:
- Never filtered by carriers
- Recognized as legitimate business messages
- More expensive but 100% reliable
Have your friend:
- Open Messages app
- Look at the top for "Filters"
- Tap "Unknown Senders"
- Look for messages from a number like +1XXXXXXXXXX
If the verification codes are there, that's your answer!