Il codice SMS che non arriva piu': cosa blocca davvero il filtro SHAFT per un sito di annunci per adulti

Il codice che non arriva mai, e nessuno dice perche'
Un visitatore si registra, digita un numero di telefono e aspetta il codice a sei cifre che gli permette di accedere. Nei giorni buoni arriva in tre secondi. Nei giorni cattivi non arriva affatto, e niente nel prodotto spiega il motivo. Il modulo di registrazione non mostra un errore. L'operatore telefonico non manda una notifica di mancata consegna. Il messaggio semplicemente non esiste dall'altra parte, e il solo sintomo visibile e' un tasso di abbandono leggermente piu' alto, che si potrebbe attribuire a una dozzina di altre cause.
Quel silenzio e' peggio di un guasto, perche' un guasto si ripara. Un filtro sui contenuti lato operatore che ha deciso in silenzio che il tuo traffico appartiene a una categoria bloccata non si ripara riavviando un server o rigenerando una chiave API. Si risolve solo capendo cosa lo ha attivato, e la maggior parte degli operatori non arriva mai a quel punto, perche' il motivo del rifiuto vive in una console per sviluppatori che non aprono mai, scritta in un linguaggio pensato per chi programma, non per chi gestisce l'attivita'.
Il meccanismo dietro tutto questo non e' una voce di corridoio. Ha una sigla, un insieme di codici di errore pubblicati dalle aziende che instradano il traffico, e un collegamento diretto con la parola che compare nel nome stesso dell'attivita': per adulti. Gli operatori telefonici americani filtrano gli SMS commerciali confrontandoli con un piccolo insieme di categorie di contenuto, e una di queste categorie e' sesso e contenuti per adulti. Una directory di annunci per escort ci rientra per definizione, indipendentemente dal testo effettivo del messaggio.
Questo non e' lo stesso tipo di guasto trattato altrove su questo blog. La consegna delle email si rompe perche' i filtri antispam assegnano un punteggio in base alla reputazione del mittente e alla formattazione, e un mittente attento puo' risalire con un'autenticazione migliore e un riscaldamento graduale. Il filtro SMS per i contenuti per adulti funziona diversamente: non e' un punteggio di reputazione che si recupera nel tempo, e' una corrispondenza di categoria che il sistema di un operatore verifica una volta, in fase di registrazione, e spesso non permette nemmeno di ripresentare la domanda.
Il filtro SHAFT: cosa segnalano davvero gli operatori, con le loro parole
La sigla usata nel settore per le categorie bloccate e' SHAFT: sesso, odio, alcol, armi da fuoco e tabacco (nell'originale inglese sex, hate, alcohol, firearms, tobacco). Non e' un termine coniato dagli operatori per marketing; compare dentro i codici di rifiuto che le piattaforme di messaggistica restituiscono quando una domanda viene respinta. La documentazione degli errori di Twilio per il codice 30953 afferma chiaramente che una campagna e' stata rifiutata perche' contiene sesso o contenuti per adulti che violano le linee guida SHAFT della CTIA, e aggiunge un dettaglio piu' importante del rifiuto stesso: quella categoria di rifiuto non e' ripresentabile. Non esiste un modulo di ricorso, non esiste una formulazione riveduta che lo risolva, non esiste un secondo tentativo attraverso il normale percorso di registrazione.
Lo stesso schema si ripete sul lato dei numeri verdi, a cui molti operatori si rivolgono proprio perche' sembra meno burocratico della registrazione standard a lunga cifra. Il codice di errore 30441 riguarda una verifica di numero verde respinta perche' chi la esamina, guardando il sito effettivo, il flusso di consenso o i messaggi campione presentati con la domanda, decide che il caso d'uso "appare legato al sesso". Il rifiuto non si limita a cio' che dice il singolo messaggio. Guarda il sito che il numero e' registrato per rappresentare, che per una directory di annunci e' l'intera attivita'.
Cio' che rende questo diverso dalla chiusura di un conto da parte di un processore di pagamenti e' l'assenza totale di una conversazione di revisione. Un processore di pagamenti chiude un esercente con un periodo di preavviso, un codice motivo e a volte un responsabile della conformita' disposto a discuterne. Il filtro automatico sui contenuti di un operatore restituisce un codice di rifiuto su una dashboard per sviluppatori e passa oltre. Nessuno, all'operatore, decide che la tua attivita' non merita il servizio; una regola scritta anni fa per un motivo diverso lo fa automaticamente, e non sa ne' le interessa che i messaggi in questione siano innocui codici di accesso a sei cifre.
La corrispondenza di categoria avviene a livello del marchio e del caso d'uso registrati, non solo delle parole dentro ogni singolo messaggio. Una campagna viene registrata con un nome dell'attivita', una descrizione dello scopo dei messaggi e spesso un collegamento al sito. Se una di queste tre cose appare come contenuto per adulti, il filtro puo' respingere l'intera campagna anche se il testo effettivo dell'SMS non e' altro che un numero e la parola "codice". Questo e' il dettaglio che gli operatori si perdono piu' spesso: rendere innocuo il corpo del messaggio non rende innocua la registrazione che gli sta dietro.
Perche' "basta passare a Verify" non e' la soluzione completa
Il consiglio standard, una volta che un operatore capisce il problema, e' smettere di provare a registrare una campagna di messaggistica commerciale completa e usare invece un prodotto dedicato all'autenticazione, come l'API Verify di Twilio o un equivalente di un altro fornitore. Questo consiglio e' corretto fino a un certo punto: un prodotto pensato solo per la verifica con codici usa e getta e' esplicitamente esentato dal processo completo di registrazione di marchio e campagna che fa scattare il filtro SHAFT, e la documentazione di avvio di Twilio confirma che un'attivita' che invia solo codici OTP non deve registrare alcun Marchio o Campagna quando usa quel prodotto.
L'esenzione arriva con una condizione che raramente finisce nel consiglio che ci si passa tra colleghi: si applica in modo specifico all'invio tramite i numeri condivisi e aggregati del fornitore, non all'instradamento dei codici di verifica tramite un numero di telefono che l'attivita' ha registrato e possiede. Se si punta lo stesso traffico OTP verso il proprio numero registrato, le regole di registrazione standard tornano in vigore, categoria SHAFT compresa. La scorciatoia e' reale, ma e' legata a un percorso di consegna specifico, non un'esenzione generale per qualsiasi messaggio che per caso contenga un codice a sei cifre.
C'e' anche un costo nell'accettare l'esenzione. Gli operatori danno priorita' di consegna e maggiore capacita' alle campagne registrate e verificate proprio perche' l'attivita' dietro di esse e' stata controllata. Un numero condiviso e aggregato che porta traffico simile a quello non registrato si trova piu' in basso in quell'ordine di priorita', il che si traduce in un aumento piccolo ma reale del ritardo di consegna e in occasionali strozzature nei periodi ad alto volume, come una campagna promozionale o un picco di nuove registrazioni dopo il lancio di una funzione. Per una piccola directory questo di solito non conta. Per una che gestisce promozioni o picchi stagionali di nuovi inserzionisti, la differenza tra "consegnato in due secondi" e "consegnato in venti" e' la differenza tra una registrazione completata e una abbandonata.
Il filtro che decide se un messaggio passa guarda anche oltre il percorso di invio, a segnali che un'attivita' raramente controlla in modo diretto: quanto il contenuto effettivo dei messaggi corrisponde al caso d'uso che e' stato approvato, e come si sta muovendo la reputazione del numero mittente. Un messaggio di assistenza qui, una campagna promozionale li', inviati attraverso lo stesso canale impostato per una consegna OTP pulita, possono spostare quel segnale senza che compaia nemmeno una parola a sfondo sessuale. Mantenere il canale di verifica completamente separato da qualsiasi altro tipo di messaggio inviato dall'attivita' non e' qui un accessorio gradito; e' l'unico modo per far continuare a funzionare l'esenzione.
Aggirare la registrazione non funziona piu'
Prima che tutto questo filtraggio si irrigidisse, la scorciatoia comune era semplicemente non registrarsi affatto: comprare un numero a lunga cifra, inviare messaggi, accettare che una parte sarebbe stata filtrata e trattare la perdita come un costo dell'attivita'. Quella scorciatoia non esiste piu'. Il registro delle modifiche di Twilio sulla chiusura della messaggistica 10DLC statunitense non registrata descrive un regime di filtraggio che si e' inasprito nel corso della meta' del 2023 e, dopo la fine di agosto di quell'anno, e' diventato un blocco totale di tutto il traffico statunitense non registrato, restituito al mittente con il codice di errore 30034. Non e' un filtraggio piu' pesante con un sovrapprezzo. E' traffico che non arriva, punto, senza una tariffa che lo riscatti.
La distinzione conta perche' un'attivita' che si e' registrata una volta, e' stata segnalata e ha smesso in silenzio di seguire il proprio stato di registrazione non e' nemmeno nel regime piu' vecchio e piu' tenero. Una campagna il cui punteggio di fiducia e' sceso, sia per una discordanza di contenuto, un'ondata di reclami di disiscrizione o semplice inattivita', va verso lo stesso trattamento del traffico non registrato: minore capacita', piu' filtraggio, e nessun avviso chiaro che qualcosa e' cambiato, perche' il blocco avviene sull'infrastruttura dell'operatore, diversi passaggi lontano da dove l'attivita' guarda i propri registri.
E' la stessa forma di rischio che questo blog ha gia' descritto per l'infrastruttura di hosting, CDN e dominio: un fornitore diversi livelli lontano dal prodotto puo' disattivarne un pezzo secondo i propri tempi, per le proprie ragioni di policy, e il primo segnale e' l'assenza di qualcosa che prima funzionava. La differenza con il filtraggio SMS e' che l'"interruttore" non e' la decisione di un'unica azienda. E' una regola applicata congiuntamente da tutti i principali operatori statunitensi, applicata in modo uniforme indipendentemente da quale piattaforma di messaggistica sta nel mezzo, il che significa che cambiare fornitore non permette di aggirarla come a volte permette di fare il cambio di un host contro la policy di una sola azienda.
Non c'e' un modo legittimo di mascherare una directory di annunci per adulti come qualcos'altro durante la registrazione per evitare la corrispondenza di categoria. Farlo rischia un rifiuto permanente sull'unica domanda che un tipo di campagna puo' presentare, e un rifiuto legato a una dichiarazione falsa e' un esito peggiore del non essersi mai registrati, perche' chiude anche la strada legittima. La via onesta, per quanto scomoda, e' la sola che lascia un secondo tentativo sul tavolo.
Cosa costruire prima che il numero di telefono smetta di essere affidabile
Il primo passo concreto e' smettere di trattare il numero di telefono come un'infrastruttura garantita e costruire un secondo canale dentro il flusso di registrazione e accesso fin dall'inizio, non dopo il primo ticket di assistenza su un codice mancante. Un codice generato da un'app di autenticazione, un link magico inviato per email o un codice di riserva generato alla registrazione instradano tutti intorno a un filtro dell'operatore, perche' nessuno di essi dipende da una categoria di messaggio che una rete telefonica sta scansionando. Nessuna di queste opzioni funziona fuori dal flusso costruito per esse, quindi costruirne almeno una adesso costa molto meno che rincorrerla dopo che un filtro ha iniziato a mangiarsi una quota visibile di registrazioni.
Il secondo passo e' separare completamente i canali: qualunque numero o prodotto invii i codici usa e getta non dovrebbe mai inviare anche un SMS promozionale, un promemoria di riattivazione o un avviso di pagamento. Mischiare tipi di messaggio su un unico percorso di invio e' esattamente lo schema che erode il segnale di reputazione che un filtro osserva, e mette a rischio l'unico canale di cui un'attivita' ha davvero bisogno, il codice di accesso, per proteggere un canale di marketing che ha altre opzioni.
Il terzo passo e' registrarsi in modo onesto e trattare l'esito come definitivo. Poiche' un rifiuto della categoria SHAFT tipicamente non si puo' ripresentare, la registrazione dovrebbe avvenire una sola volta, con una descrizione accurata dell'attivita', dopo aver deciso in anticipo se l'attivita' puo' accettare i compromessi di capacita' e priorita' di un'esenzione stile Verify o ha bisogno della registrazione completa ed e' preparata al fatto che venga respinta. Indovinare e sperare spreca l'unico tentativo che conta.
Il quarto passo e' osservare direttamente i dati di consegna invece di aspettare che un utente si lamenti. Ogni grande piattaforma di messaggistica espone ricevute di consegna e codici di errore per ogni messaggio; una quota crescente di codici come 30034, o un tasso di consegna in calo specificamente sul canale di verifica, e' il segnale piu' precoce disponibile che qualcosa e' cambiato, e arriva molto prima che si veda come un calo delle registrazioni completate in un rapporto mensile. Un operatore che controlla quel numero ogni mese cattura un cambiamento nel filtraggio in poche settimane. Uno che controlla solo la conversione lo cattura in un trimestre, dopo che ha gia' costato attivita' reale.
Niente di tutto questo rende inutilizzabile il numero di telefono. Lo rende per quello che e' davvero: un canale che un'attivita' prende in prestito da operatori che non l'hanno costruito pensando a una directory di annunci per adulti, e che si riservano il diritto di dire no senza spiegarsi. Trattarlo cosi', con un vero canale di riserva e una netta separazione tra cio' che trasporta, e' quello che mantiene funzionante un flusso di accesso il giorno in cui il filtro decide che la tua attivita' e' proprio quella che era stato scritto per fermare.


