{
  "$schema": "https://govschema.org/spec/v0.1/govschema.schema.json",
  "govschemaVersion": "0.1.0",
  "id": "us/sss/selective-service-registration",
  "version": "1.0.0",
  "title": "United States Selective Service Registration",
  "description": "Register an eligible individual with the U.S. Selective Service System, as required by law of most people assigned male at birth between the ages of 18 and 25 living in the United States. This document describes the eligibility window and the small fixed set of registrant inputs. It does not submit the registration; the live sss.gov source is always authoritative (see verification).",
  "status": "draft",
  "jurisdiction": {
    "country": "US",
    "level": "national"
  },
  "authority": {
    "name": "U.S. Selective Service System",
    "abbreviation": "SSS",
    "url": "https://www.sss.gov/"
  },
  "process": {
    "type": "registration",
    "language": "en-US"
  },
  "source": {
    "url": "https://www.sss.gov/register/",
    "retrievedAt": "2026-06-30"
  },
  "verification": {
    "method": "manual-source-review-v1",
    "lastVerifiedAt": "2026-06-30",
    "verifiedBy": "GovSchema Engineering",
    "nextReviewBy": "2026-12-30",
    "notes": "Source-derived reference schema authored from the official Selective Service online registration page. The eligibility window (most people assigned male at birth, ages 18 through 25) and the small registrant field set (name, date of birth, SSN, current mailing address, contact) were confirmed against the source; individual input fields reflect the form's structure but are not yet independently re-verified item-by-item. The age-eligibility window is a temporal rule v0.1 cannot encode and is recorded in field descriptions. Status remains 'draft'. See VERIFICATION.md."
  },
  "license": "CC-BY-4.0",
  "fields": [
    {
      "name": "lastName",
      "label": "Last name",
      "type": "string",
      "required": true,
      "description": "Personal identifier; handle as sensitive data. Your legal last name.",
      "sourceRef": "Online registration — Name",
      "validation": { "minLength": 1, "maxLength": 100 }
    },
    {
      "name": "firstName",
      "label": "First name",
      "type": "string",
      "required": true,
      "description": "Personal identifier; handle as sensitive data.",
      "sourceRef": "Online registration — Name",
      "validation": { "minLength": 1, "maxLength": 100 }
    },
    {
      "name": "middleName",
      "label": "Middle name",
      "type": "string",
      "required": false,
      "description": "Personal identifier; handle as sensitive data.",
      "sourceRef": "Online registration — Name",
      "validation": { "maxLength": 100 }
    },
    {
      "name": "dateOfBirth",
      "label": "Date of birth",
      "type": "date",
      "required": true,
      "description": "Personal identifier; handle as sensitive data. Full date, YYYY-MM-DD. Registration is required for most people assigned male at birth from their 18th birthday until they turn 26; the online service accepts registrations from age 18 up to (but not including) age 26. This age window is a rule v0.1 cannot enforce as a constraint.",
      "sourceRef": "Online registration — Date of Birth (eligibility 18 through 25)"
    },
    {
      "name": "socialSecurityNumber",
      "label": "Social Security number",
      "type": "string",
      "required": true,
      "description": "Personal identifier; handle as sensitive data. Your 9-digit U.S. Social Security number. Those without an SSN must contact the Selective Service System to register by another method.",
      "sourceRef": "Online registration — Social Security Number",
      "validation": { "pattern": "^[0-9]{9}$" }
    },
    {
      "name": "mailingAddressLine1",
      "label": "Current mailing address — street address",
      "type": "string",
      "required": true,
      "description": "Personal identifier; handle as sensitive data. Your current mailing address.",
      "sourceRef": "Online registration — Current Mailing Address",
      "validation": { "minLength": 1, "maxLength": 120 }
    },
    {
      "name": "mailingAddressLine2",
      "label": "Current mailing address — apartment, suite, or unit (optional)",
      "type": "string",
      "required": false,
      "description": "Personal identifier; handle as sensitive data.",
      "sourceRef": "Online registration — Current Mailing Address",
      "validation": { "maxLength": 120 }
    },
    {
      "name": "mailingAddressCity",
      "label": "Current mailing address — city",
      "type": "string",
      "required": true,
      "description": "Personal identifier; handle as sensitive data.",
      "sourceRef": "Online registration — Current Mailing Address",
      "validation": { "minLength": 1, "maxLength": 80 }
    },
    {
      "name": "mailingAddressState",
      "label": "Current mailing address — state or territory",
      "type": "string",
      "required": true,
      "description": "Personal identifier; handle as sensitive data. Two-letter USPS state or territory abbreviation, e.g. CA, NY, TX.",
      "sourceRef": "Online registration — Current Mailing Address",
      "validation": { "pattern": "^[A-Z]{2}$" }
    },
    {
      "name": "mailingAddressPostalCode",
      "label": "Current mailing address — ZIP code",
      "type": "string",
      "required": true,
      "description": "Personal identifier; handle as sensitive data. 5-digit or ZIP+4 format, e.g. 90210 or 90210-1234.",
      "sourceRef": "Online registration — Current Mailing Address",
      "validation": { "pattern": "^[0-9]{5}(-[0-9]{4})?$" }
    },
    {
      "name": "email",
      "label": "Email address",
      "type": "string",
      "required": false,
      "description": "Personal identifier; handle as sensitive data. A valid email address; used to send a registration confirmation.",
      "sourceRef": "Online registration — Contact information",
      "validation": { "maxLength": 254 }
    },
    {
      "name": "phone",
      "label": "Phone number",
      "type": "string",
      "required": false,
      "description": "Personal identifier; handle as sensitive data. In international E.164 format, e.g. +12025551234.",
      "sourceRef": "Online registration — Contact information",
      "validation": { "pattern": "^\\+[1-9][0-9]{1,14}$" }
    }
  ],
  "steps": [
    {
      "id": "registrant",
      "title": "About you",
      "fields": ["lastName", "firstName", "middleName", "dateOfBirth", "socialSecurityNumber"],
      "next": "contact"
    },
    {
      "id": "contact",
      "title": "Current address and contact",
      "fields": [
        "mailingAddressLine1",
        "mailingAddressLine2",
        "mailingAddressCity",
        "mailingAddressState",
        "mailingAddressPostalCode",
        "email",
        "phone"
      ]
    }
  ]
}
