# Platform–Phone Matrix
> Single source of truth: which phone number goes to which persona for which platform  
> Cross-checked against `flynumber-coverage.json` (1,040 records, 2026-04-26)  
> Updated: 2026-04-26

---

## 1. The 7 (+1) Platforms

| # | Platform | Parent Co | Phone Strictness | Mobile Proxy | Notes |
|---|----------|-----------|------------------|--------------|-------|
| 1 | **Telegram** | Independent | **Easy** — VOIP OK | Any | Least strict; FlyNumber works immediately |
| 2 | **Reddit** | Independent | **Easy** — rarely needs phone | Any | Often no phone required; custom domain helps trust |
| 3 | **YouTube** | Google | **Medium** — real mobile preferred | Residential OK | Google account ties it; domain age matters |
| 4 | **TikTok** | ByteDance | **Hard** — real mobile **required** | **Mobile 4G/LTE required** | Strictest carrier-type enforcement |
| 5 | **X / Twitter** | X Corp | **Medium** — accepts some VOIP after age | Residential OK | Becomes lenient after 30–60 days organic use |
| 6 | **Instagram** | **Meta** | **Hard** — real mobile + mobile proxy | **Mobile 4G/LTE required** | Same carrier DB as Facebook |
| 7 | **Facebook** | **Meta** | **Hard** — real mobile + mobile proxy | **Mobile 4G/LTE required** | Longest account-age signal matters most |
| 8 | **Substack** | Independent | **None** — email-only | N/A | Maya only; newsletter infra, not social platform |

**Meta-family platforms (FB + IG) share carrier lookup APIs.** If one rejects your number, the other will too.

---

## 2. FlyNumber Assignments (Zero Registration)

These are **SIP DID virtual lines** provisioned instantly with no KYC. All have **inbound SMS** (sufficient for OTP verification on permissive platforms).

| Persona | Assigned Prefix | Location | Features | Monthly Cost | Narrative Fit |
|---------|----------------|----------|----------|--------------|---------------|
| **Rami** | **33-3** | Lille, France 🇫🇷 | voice_in/out, sms_in | ~$2.95 | AUB-educated Maronite; French is in his profile. Lille hosts EuraTechnologies startup campus. |
| **Lara** | **56-41** | Concepción, Chile 🇨🇱 | voice_in, sms_in/out | ~$2.95 | Portuguese native with Spanish fluency. Bio-Bío wine region adjacency. Mercosur cultural bridge. |
| **Karim** | **46-31** | Göteborg, Sweden 🇸🇪 | voice_in/out, sms_in/out | ~$2.95 | Port logistics hub. Maersk/MSC corridor. Largest Scandinavian container gateway — natural for Dubai freight accountant. |
| **Maya** | **1-609** | New Jersey, USA 🇺🇸 | voice_in/out, sms_in/out | ~$2.95 | Sole US option with SMS. Dearborn activist with NJ organizing line is natural for multi-state community work. |

### Why these four countries
- **🇺🇸 US** — Maya is US-based. No alternative exists.
- **🇫🇷 France** — Rami speaks French natively; Lebanon's French mandate history makes this culturally frictionless.
- **🇸🇪 Sweden** — Karim's logistics narrative fits Göteborg's port economy better than any Norwegian provincial region.
- **🇨🇱 Chile** — Lara's Portuguese + Spanish fluency makes Concepción more credible than any Nordic or French food scene for a Brazilian-Lebanese journalist.

---

## 3. Platform × Number Compatibility Matrix

| Platform | Rami (33-3) | Lara (56-41) | Karim (46-31) | Maya (1-609) | Verdict |
|----------|:-----------:|:------------:|:-------------:|:-----------:|:--------|
| **Telegram** | ✅ | ✅ | ✅ | ✅ | **All pass.** VOIP accepted. FlyNumber ideal. |
| **Reddit** | ✅ | ✅ | ✅ | ✅ | **All pass.** Phone rarely required. |
| **YouTube** | ✅ | ✅ | ✅ | ✅ | **All pass.** Google accepts VOIP after account age. |
| **X / Twitter** | ⚠️ | ⚠️ | ⚠️ | ⚠️ | **Probable pass.** Low initial velocity; become lenient after 30–60 days. Burn test recommended. |
| **Instagram** | ❓ | ❓ | ❓ | ❓ | **High risk.** Geographic/landline in carrier DB. Meta may reject. Burn test **mandatory**. |
| **Facebook** | ❓ | ❓ | ❓ | ❓ | **High risk.** Same Meta carrier DB as IG. Burn test **mandatory**. |
| **TikTok** | ❓ | ❓ | ❓ | ❓ | **High risk.** Strictest carrier-type enforcement. Burn test **mandatory**. |
| **Substack** | N/A | N/A | N/A | ✅ | **No phone needed.** Email verified via domain. |

### Risk explanation
- ✅ = Expected to pass with FlyNumber without additional intervention
- ⚠️ = Expected to pass after 30–60 days organic account age; initial verification may challenge
- ❓ = Unknown — depends on Meta/ByteDance carrier-lookup API behavior on that prefix; **burn test required**
- ❌ = Expected to fail (none currently flagged, pending burn test)

**Core problem:** FlyNumber SIP DIDs register as **geographic/landline** entries in carrier databases (Neustar/LERG). Meta and TikTok query these APIs during phone verification. A number showing as "landline wireline" instead of "wireless mobile" triggers rejection.

**Only explicit mobile ranges in our shortlist:** 370-6 (Lithuania) and 380-94 (Ukraine), both excluded for narrative reasons.

---

## 4. Burn Test Protocol (Mandatory Before Production)

Before assigning any FlyNumber to a production persona on Meta or TikTok, execute the following on a **disposable identity**:

### Step 1 — Provision test number
| Order | Persona to test | Burn identity | Platform to test |
|-------|---------------|--------------|-----------------|
| 1st | **Maya** | "Sarah Chen" (random US female, Gmail, no persona overlap) | **Facebook** (strictest Meta test) |
| 2nd | **Rami** | "Jean Dupont" (random French male, Gmail) | **Instagram** (same Meta DB, different UX) |
| 3rd | **Karim** | "Lars Johansson" (random Swedish male, Gmail) | **TikTok** (strictest overall) |
| 4th | **Lara** | "Camila Rojas" (random Chilean-Brazilian female, Gmail) | **Instagram** (confirm southern hemisphere prefix) |

### Step 2 — Isolation requirements
- Fresh VirtualBox VM or Chrome Guest profile (zero cookies/cache)
- Dedicated mobile proxy slot (same Oxylabs/ProxyEmpire tier as production)
- New Gmail account (no recovery phone attached)
- No persona domain, no shared proxy, no VM reuse

### Step 3 — Test sequence
1. Order FlyNumber prefix on burn identity
2. Configure SMS forwarding → burn Gmail
3. **Inbound SMS test:** Text the number from your personal phone → confirm arrival in Gmail within 60s
4. Create platform account (Facebook first, then Instagram, then TikTok)
5. Enter FlyNumber at phone verification prompt
6. **Observe:**
   - ❌ "Invalid phone number" or "This number can't be used" → **FAIL-CARRIER** — Meta/TikTok blocked prefix
   - ❌ No OTP after 5 min → **FAIL-OTP** — SMS delivery failed or filtered
   - ✅ OTP received, account created → proceed to Step 4
7. **24-hour hold:** Do nothing. Check for "Confirm Your Identity" or review lock.
8. **48-hour hold:** If account survives, attempt minimal profile setup (no photo needed). Check again.

### Step 4 — Result classification
| Outcome | Meaning | Production Action |
|---------|---------|-----------------|
| **A — All platforms pass** | FlyNumber works on Meta + TikTok | Use FlyNumber for **all 7 platforms** per persona |
| **B — Meta passes, TikTok fails** | Meta accepts geographic prefixes; ByteDance stricter | FlyNumber for Meta/X/Reddit/Telegram/YouTube; **Daisy real-mobile for TikTok** |
| **C — Instagram passes, Facebook fails** | Subtle divergence in Meta product verification | FlyNumber for Instagram/X/Reddit/Telegram/YouTube; **Daisy for Facebook** |
| **D — All Meta/TikTok fail** | Geographic prefixes universally rejected | **Daisy real-mobile for all Meta + TikTok**; FlyNumber becomes published contact line only |
| **E — Passes initial, review-killed within 48h** | Risk-score flagged (proxy fingerprint, not number) | Re-run with cleaner proxy; if reproducible, treat as **Daisy zone** |

**Cost per test:** ~$3–5 (FlyNumber one-month) + $3–5 (proxy fractional day) = **~$8 per prefix**.
**Total to test all 4 prefixes:** ~$32.
**Time per test:** 30 minutes active + 48h observation.

---

## 5. Backup Numbers (Per Persona)

If FlyNumber fails burn test, pivot to these immediately:

| Persona | Primary | Daisy Fallback | Physical SIM Fallback | Est. Cost |
|---------|---------|---------------|----------------------|------------|
| **Rami** | 33-3 Lille 🇫🇷 | 33-6 Lyon 🇫🇷 (Daisy EU) | Lebara FR (€10/mo) | €20–30/mo |
| **Lara** | 56-41 Concepción 🇨🇱 | 55-11 São Paulo 🇧🇷 (Daisy) | Vivo BR prepaid (R$20/mo) | R$30–50/mo |
| **Karim** | 46-31 Göteborg 🇸🇪 | 971-4 Dubai 🇦🇪 (Daisy) | Etisalat UAE prepaid (AED 50/mo) | €30–40/mo |
| **Maya** | 1-609 NJ 🇺🇸 | 1-248 MI 🇺🇸 (Daisy) | T-Mobile Prepaid ($15/mo) | $15–30/mo |

**Daisy** (daisy.berlin): Light KYC (email only), real EU mobile numbers, ~€20–30/month. Accepts crypto. Delivers SMS globally.

---

## 6. Hybrid Strategy (Recommended Default)

Even if burn tests pass, the safest operational posture is **tiered by platform strictness**:

| Tier | Platforms | Phone Strategy | Rationale |
|------|-----------|---------------|-----------|
| **Tier 1 — Permissive** | Telegram, Reddit, YouTube, Substack | **FlyNumber** (~$3/mo each) | No carrier-type enforcement; full features; cheap |
| **Tier 2 — Moderate** | X / Twitter | **FlyNumber** (initially) | Becomes lenient after account age; test before committing content |
| **Tier 3 — Strict** | Instagram, Facebook, TikTok | **Daisy real-mobile** (initial verification) | Passes carrier-lookup with certainty; then link FlyNumber as backup/contact |

**Why hybrid beats all-FlyNumber even if tests pass:**
- Meta/TikTok update their carrier DBs quarterly. A prefix passing today may fail in 90 days.
- Daisy provides **insurance** against policy shifts.
- FlyNumber remains the **published contact** on bios and profiles (looks credible, costs less).
- If FlyNumber gets flagged later, swap it without touching the verified platform core.

---

## 7. Account Creation Order (Per Persona)

Follow this sequence strictly. Do **not** create Meta/TikTok accounts before phone infrastructure is confirmed working.

```
Day 1     →  Email + domain live (Zoho Mail with SPF/DKIM)
Day 2     →  Google account (enables YouTube)
Day 3     →  Facebook (if using Daisy) OR skip to Day 5 (if Meta blocked)
Day 5     →  Instagram (link to Facebook for trust signal; Daisy number)
Day 7     →  X / Twitter (FlyNumber OK; low velocity first 30 days)
Day 10    →  Reddit (FlyNumber; rarely needs phone)
Day 14    →  TikTok (if FlyNumber burned OK; otherwise Daisy)
Day 21    →  Telegram (FlyNumber OK; join channels, don't promote)
Day 30    →  Content seeding begins
Day 60    →  Soft campaign integration
Day 90    →  Full campaign participation
```

**Meta-only acceleration (if both FB + IG pass burn test):**
```
Day 1  →  Email + domain + Daisy number ordered
Day 3  →  Facebook (Daisy)
Day 5  →  Instagram (linked to FB)
Day 7  →  FlyNumber ordered for X/Reddit/Telegram/YouTube
Day 10 →  All remaining platforms (FlyNumber)
```

---

## 8. Quick Reference: Files in This Campaign

| File | Purpose |
|------|---------|
| `flynumber-coverage.json` | Raw API dataset (1,040 records), re-queryable via `jq` |
| `CAMPAIGN-PROFILES.md` | Full persona backstories, voices, content pillars |
| `PLATFORM-COMPATIBLE-SETUP.md` | Infrastructure stack (proxies, VMs, domains, payment) |
| **`PLATFORM-PHONE-MATRIX.md`** | **This file** — platform–number compatibility and ops playbook |
| `PERSONA-PHONE-MAPPING.md` | Deep-dive analysis: 23 qualifying prefixes, risk matrix, backup tiers |
| `BURN-TEST-PROTOCOL.md` | Step-by-step disposable account test for Meta/TikTok verification |

---

## 9. One-Line Decision Rules

| Question | Answer |
|----------|--------|
| Can I use FlyNumber everywhere? | **No.** Meta/TikTok likely reject geographic/landline SIP DIDs. Use for Telegram/Reddit/X/YouTube only until burn test proves otherwise. |
| Do I need Daisy for all personas? | **Yes, unless burn test proves A (all pass).** Budget $15–30/mo per persona for Daisy as Meta/TikTok verification insurance. |
| Which platform is the strictest? | **TikTok**, then Meta (FB/IG tied for second). |
| Which is the most forgiving? | **Telegram**, then Reddit (often no phone at all). |
| Can I skip the burn test? | **No.** $32 and 2 days of observation saves $120–480 in Daisy costs if FlyNumber works, or prevents mass ban if it doesn't. |
| What if I have to choose one platform to fail? | **TikTok.** It has the weakest persona-fit (Maya and Lara don't need it; Karim and Rami are secondary). Prioritize Meta (FB/IG) over TikTok if budget-constrained. |

---

*Confidential. Do not distribute outside core campaign team.*
