MeridianMERIDIAN

US Social Security Number

identity.government.ssn

9-digit identifier assigned to US citizens and residents for tax and social security purposes. Format: AAA-GG-SSSS where area number cannot be 000, 666, or 900-999.

Worked samples

DuckDB 1.5.5 · finetype 0.6.64

ValueAs VARCHARareagroupserial
078-05-1120078-05-1120078051120
219-09-9999219-09-9999219099999
123-45-6789123-45-6789123456789
531-02-7834531-02-7834531027834
Scope
Locale-specific
Personal data
Yes — treat as PII
Locales
EN_US

Shape

Length 9 to 11 characters.

Pattern
^(?!000|666|9\d{2})\d{3}-(?!00)\d{2}-(?!0000)\d{4}$|^(?!000|666|9\d{2})\d{3}(?!00)\d{2}(?!0000)\d{4}$
ValueLengthShape
078-05-112011matches
219-09-999911matches
123-45-678911matches
531-02-783411matches
078-05-11210rejected: one character short

Background

Origin

Social Security numbers were first issued by the Social Security Administration in November 1936, as part of the New Deal Social Security programme.[1] Within three months, 25 million numbers were issued.[1] The original purpose of the Social Security number was to track individuals' accounts within the Social Security programme.[1] It has since come to be used as an identifier for individuals within the United States.[1]

The Social Security number is a nine-digit number in the format AAA-GG-SSSS.[1] The first three digits are called the area number, because they were formerly assigned by geographical region.[1]

On June 25, 2011, the Social Security Administration changed its assignment process to what it calls SSN randomization.[1] Randomization eliminated the geographical significance of the area number.[1] It also introduced previously unassigned area numbers for assignment, excluding area numbers 000, 666 and 900–999.[1]

Use

A Social Security number is issued by the Social Security Administration, whereas all other US taxpayer identification numbers are issued by the IRS.[2] The IRS's Individual Taxpayer Identification Number, or ITIN, is a 9-digit number beginning with 9 and formatted like an SSN (NNN-NN-NNNN).[2] If values in a column start with 9, check whether it holds ITINs, or a mix of ITINs and SSNs, before you label it. (Meridian's view)

Numbers with 666 or 900–999 in the first digit group are never allocated.[1] A pattern check can therefore only rule a value out; it cannot tell a genuine SSN from a well-formed invented one. (Meridian's view) Now that numbers are assigned randomly, fraudulent SSNs are not easily detectable with publicly available information.[1]

Where you'll meet it

The IRS lists the SSN among the taxpayer identification numbers that must be furnished on returns, statements and other tax-related documents.[2]

The National Personnel Records Center asks that every request for a veteran's records include the veteran's Social Security number.[3] The Army and Air Force stopped using the service number as an identifier and began using the Social Security number on July 1, 1969.[3] The Navy and Marine Corps changed over on January 1, 1972.[3] The Coast Guard changed over on October 1, 1974.[3]

Detection notes

SSA randomized assignment since 2011. Area numbers 000, 666, and 900-999 are never assigned. Group 00 and serial 0000 are invalid.

Use it

CLI · DuckDB
$ finetype infer -i "078-05-1120" --mode column
→ identity.government.ssn

SELECT ft_infer('078-05-1120');
-- → 'identity.government.ssn'
Cast expression
CAST({col} AS VARCHAR)

Schema

https://meridian.online/schemas/identity.government.ssn · Frictionless type string

finetype taxonomy identity.government.ssn -o json-schema

Aliases

social_security_number

Type Registry