O formato do SSN nos EUA é curto e fácil de reconhecer: nove dígitos, habitualmente escritos em três partes, com um hífen separando os dois primeiros grupos. A aparência simples engana. Há faixas que o órgão emissor nunca distribuiu, há uma mudança de regra que tirou qualquer significado geográfico dos algarismos, e há uma confusão muito comum entre esse número e um documento de identidade. Neste texto, percorremos a estrutura, as faixas reservadas e o limite do que uma verificação de formato pode afirmar.
As três partes e o que cada uma já significou
O número se divide em três blocos: o primeiro com três algarismos, o segundo com dois e o terceiro com quatro. Essa divisão é apenas de leitura, criada para facilitar a transcrição e a conferência, e não muda o valor do número.
Durante décadas, as pessoas atribuíram significado a cada bloco. O primeiro indicaria a região onde o número foi pedido, o segundo uma ordem de emissão dentro daquela região e o terceiro um valor sequencial. Esse entendimento continua circulando em textos antigos e em sistemas legados, e é a origem de vários defeitos: um formulário que tenta deduzir o estado de residência a partir do número, ou uma rotina que ordena registros pela data presumida de emissão.
Desde 2011, a atribuição passou a ser aleatória. Os algarismos deixaram de indicar onde o número foi emitido e quando isso aconteceu. Um sistema escrito antes dessa mudança pode continuar funcionando por acaso, mas está apoiado em uma premissa que o próprio emissor abandonou.
Quais faixas nunca são emitidas?
Mesmo com a atribuição aleatória, algumas combinações permanecem fora de circulação. O órgão emissor dos Estados Unidos declara que certos valores nunca são distribuídos, e essa é a única informação estrutural que uma verificação honesta pode usar:
- O primeiro bloco nunca é igual a três zeros.
- O primeiro bloco nunca é igual a seis, seis e seis.
- O primeiro bloco nunca começa com nove, o que exclui toda a faixa de novecentos a novecentos e noventa e nove.
- O segundo bloco nunca é formado por dois zeros.
- O terceiro bloco nunca é formado por quatro zeros.
Essas regras servem para uma coisa só: barrar valores que nenhum emissor produziria, como um número digitado às pressas ou um campo deixado em branco pelo usuário. Elas não dizem nada sobre o número pertencer a alguém.
O SSN é um documento de identidade nos EUA?
Não é, e a distinção importa mais do que parece. Um documento de identidade é emitido para provar quem você é e costuma trazer foto, assinatura e data de validade. O SSN é um número de registro usado em contextos fiscais e de benefícios, e o próprio emissor afirma que ele não deve ser tratado como prova de identidade.
Um cartão que carregue esse número não substitui um documento com foto. Por isso, sistemas que aceitam o número como credencial única estão construindo uma verificação frágil: qualquer pessoa que saiba nove algarismos de outra pessoa pode se apresentar como ela. Do lado de quem preenche um formulário, a recomendação prática é a de sempre: se o campo pede esse número sem uma razão clara, vale perguntar para que ele serve.
Como conferir o formato sem exagerar na regra
Uma rotina de conferência útil tem três passos, e nenhum deles tenta adivinhar a pessoa:
- Remover separadores e espaços, e confirmar que sobraram exatamente nove algarismos.
- Recusar os blocos reservados listados acima.
- Tratar o valor como texto identificador, sem tentar derivar estado, idade ou data de emissão.
Qualquer passo além disso é invenção. Não existe dígito verificador nesse número, e uma conta aritmética sobre ele não distingue um valor real de um inventado.
Usando o número em testes de software
Em teste, o número é útil exatamente no formato: ele permite verificar se o campo aceita hífens digitados, se rejeita letras, se recusa um bloco reservado e se exibe o valor de volta sem perder zeros à esquerda. Esses quatro cenários cobrem a maior parte dos defeitos reais.
O que não faz sentido é usar um número real de qualquer pessoa, nem um valor retirado de um exemplo público que circula na internet. Além do problema de privacidade, esses valores costumam aparecer em listas de bloqueio mantidas por serviços de terceiros, o que produz falhas de teste que não têm nada a ver com o seu código. O formato serve apenas para exercitar o software, e vale dizer com clareza o que esses valores são: um número sintético existe para testes e não pode ser usado para se passar por outra pessoa, nem é aceito por nenhuma verificação de identidade ou abertura de conta. Para montar a amostra, gere registros no gerador de identidade e mantenha o conjunto identificado como dado de teste.
Para quem desenvolve: o que uma checagem pode e não pode
A tentação de escrever uma validação mais ambiciosa é grande, e vale resistir a ela por três razões:
- Nada de deduzir geografia. Desde a mudança de regra, o primeiro bloco não indica local. Um mapa de faixas por estado é uma tabela morta.
- Nada de deduzir data. O número não carrega data de nascimento nem ano de emissão. Confundir os dois produz cálculos de idade errados.
- Apenas formato e faixas reservadas. É o que se pode afirmar sem inventar. O resto é política do seu produto, não validação técnica.
Vale ainda separar duas mensagens de erro. Um valor com letras ou com quantidade errada de algarismos é um problema de digitação e merece uma mensagem sobre o formato esperado. Um valor que cai em faixa reservada é um problema diferente. Juntar os dois casos em um único aviso confunde quem está preenchendo e atrapalha o suporte.
Por fim, cuidado com a persistência. Se o seu sistema guarda esse número, ele guarda um identificador ligado a uma pessoa: mascare na exibição, restrinja quem consulta e não o leve para ambientes de teste. Se o objetivo é apenas popular uma tela, um número sintético no formato correto resolve, e a diferença entre os dois usos precisa estar clara na cabeça de quem escreve o código.
Próximos passos
Revise hoje se a sua validação rejeita as faixas reservadas e se o campo aceita o valor com e sem hífen, sem tentar extrair significado dos algarismos. Para dados de exemplo, gere registros no gerador de identidade e, se o seu formulário coleta endereço junto com o número, veja como tratar os campos americanos na página de dados de endereço nos Estados Unidos.