{
  "$schema": "https://govschema.org/spec/v0.3/govschema.schema.json",
  "govschemaVersion": "0.3.0",
  "id": "bd/nidw/nid-correction-application-form-1",
  "version": "1.0.0",
  "title": "Bangladesh National ID Card / Preserved Data Correction Application, Form-1 (Election Commission, National Identity Registration Wing)",
  "description": "The National Identity Registration Wing's (NIDW, operating under the Bangladesh Election Commission) \"Form-1\": \"Application for Correction of Error(s) in the National ID Card or Preserved Data\" (জাতীয় পরিচয়পত্র বা সংরক্ষিত তথ্য-উপাত্তে ভুলজনিত ত্রুটি সংশোধনের আবেদন), issued under Rule 3 of the National Identity Registration Rules. Opens Bangladesh's National ID & Civic Documents vertical, its last remaining open vertical alongside the sibling Business Formation vertical being authored in parallel this cycle (Taxes, DMV, Passport, and Visa already published). A static, print-and-fill specimen distributed via NIDW's own downloadable-forms index (no AcroForm/Widget annotations — independently confirmed via pdfjs-dist, 0 annotations across both pages), Bengali-language throughout (parenthetical \"(NID)\" abbreviations are the only Latin-script text). This v1.0.0 models the applicant's own identity (or, when the NID holder is a minor or a court-declared-incompetent person, their legal guardian's identity), the application-type selection (Urgent/Regular, corroborated by the form's own processing-time instruction), the correction table's 9 printed subject rows (Name in Bengali, Name in English, Father's Name, Mother's Name, Spouse's Name, Date of Birth, Address, Blood Group, Other) each as a current-value/requested-new-value field pair, and the applicant's and (if applicable) guardian's own contact particulars (address, mobile number, e-mail) given alongside their respective signature/thumbprint. The form's own tear-off acknowledgement-receipt section (\"অংশ-ক (ফরম-১)\") is excluded as a duplicate summary of data already captured above, plus office-completed fields (serial number, responsible officer's signature/seal, next-contact/issuance date) — consistent with this registry's established convention of not double-modeling a receipt slip that restates already-captured applicant data. The form's own Serial Number and Application Date fields at the top of page 1 are likewise excluded: both sit directly beneath a printed \"(অফিস কর্তৃক পূরণীয়)\" (\"to be filled by the office\") heading, indicating office, not applicant, entry. The form's own instructions (numbered 1-6, page 2) confirm: (2) a guardian must sign and submit a photocopy of their own NID when the card holder is a minor or court-declared incompetent; (3) the card holder's own NID photocopy must always be submitted; (4) processing takes 7 working days for an urgent application versus 30 for a regular one; (5) this application carries no fee/charge, so no payment requirement is modeled; (6) an incomplete or defective application is rejected. GovSchema is independent and is not affiliated with, endorsed by, or operated by the Government of Bangladesh, the Bangladesh Election Commission, or the National Identity Registration Wing.",
  "status": "draft",
  "jurisdiction": {
    "country": "BD",
    "level": "national"
  },
  "authority": {
    "name": "National Identity Registration Wing (NIDW), Bangladesh Election Commission",
    "abbreviation": "NIDW",
    "url": "https://nidw.gov.bd"
  },
  "process": {
    "type": "amendment",
    "language": "bn"
  },
  "source": {
    "url": "https://nidw.gov.bd/download/NIDForms/print_mistake_correction_form1.pdf",
    "retrievedAt": "2026-07-13",
    "documentRef": "\"ফরম-১\" (\"Form-1\"), \"জাতীয় পরিচয়পত্র বা সংরক্ষিত তথ্য-উপাত্তে ভুলজনিত ত্রুটি সংশোধনের আবেদন\" (\"Application for Correction of Error(s) in the National ID Card or Preserved Data\") [বিধান ৩ / Rule 3], listed as \"1. Print Mistake Correction Form1.pdf.\" on NIDW's downloadable-forms index at https://nidw.gov.bd/downloadForm.php"
  },
  "verification": {
    "method": "manual-source-review-v1",
    "lastVerifiedAt": "2026-07-13",
    "verifiedBy": "GovSchema Engineering",
    "nextReviewBy": "2027-01-13",
    "notes": "GovSchema Standard Research cycle GOV-2688. Opens Bangladesh's National ID & Civic Documents vertical, its last remaining open vertical (Taxes/DMV/Passport/Visa already published; Business Formation authored in parallel this cycle via a sibling PR/issue, GOV-2687). Independently re-fetched the source this cycle via curl (a Chrome-like User-Agent; no TLS bypass needed for this host, unlike bd/dip's oraclecloud/mofa hosts): HTTP 200, Content-Type: application/pdf, 146,866 bytes, sha256 a80ee2b64d89d5a540eeac21bbe2fff0c69b28e4df1da5bdec475e8a78ef593d — matching the task briefing's own cited byte size exactly, independently re-derived. Also independently re-fetched NIDW's own downloadable-forms index (https://nidw.gov.bd/downloadForm.php, HTTP 200, text/html, 32,211 bytes) confirming the form's own link text (\"1. Print Mistake Correction Form1.pdf.\") and the site's own title (\"Bangladesh Election Commission\"), and the NIDW homepage (https://nidw.gov.bd/, HTTP 200) confirming NIDW ('NID Wing') is the Election Commission's operating unit for this process. Parsed the downloaded PDF with pdfjs-dist@4 (legacy build): 2 pages, getFieldObjects() returned null and both pages' getAnnotations() returned an empty array — confirming zero AcroForm/Widget annotations, a genuine static print-and-fill specimen (unlike bd/dip's e-passport or gr/aade forms elsewhere in this registry). getTextContent() returned a full text layer across both pages, but pdfjs-dist's default extraction order is the underlying content stream's *glyph* order, not Unicode logical order: Bengali's three pre-base dependent vowel signs (ি U+09BF, ে U+09C7, ৈ U+09C8) are rendered visually *before* the consonant(s) they modify but are canonically stored *after* them in Unicode text — since the source PDF's content stream places glyphs in visual order, the raw extraction interleaves these vowel signs before their base consonant (e.g. রাগ পরিচয়পত্র -> extracted as পিরচয়প, dropping conjunct-only glyphs with no ToUnicode entry along the way), producing text that is not directly legible without correction. Investigated and fixed this via a small post-processing pass (a disposable script, not committed, per this registry's own established practice for one-off extraction tooling): a regex moving each pre-base vowel sign to immediately after the following (possibly virama-joined) consonant cluster it modifies. This single, mechanical, script-level fix (not a per-word guess) made the text substantially and legibly correct Bengali — recognizable, correctly-ordered words matching this form's real government-form vocabulary (জাতীয় পরিচয়পত্র, সংশোধন, আবেদনকারী, অভিভাবক, ঠিকানা, স্বাক্ষর, etc.) — and every field below, the correction table's 9 subject rows, and all 6 of the page-2 instructions were read from this corrected text, not guessed from partial mojibake. A residual, disclosed limitation: a handful of complex conjunct ligatures used by this PDF's embedded legacy Bengali font (e.g. ক্ষ \"ksha\", ত্র \"tra\") have no ToUnicode entry at all and extract as a blank space rather than reordering-recoverable text. An attempt was made to independently cross-check these specific gaps by rendering the page to a bitmap via pdfjs-dist's canvas API (node-canvas), but this PDF's embedded TrueType font uses non-standard/corrupt glyph hinting programs (pdfjs's own interpreter logs repeated \"TT: CALL empty stack\" warnings while rendering every glyph on both pages) and paints no visible glyph outlines at all — itself a data point corroborating that this document uses a legacy, non-standard Bengali font whose ToUnicode CMap and glyph program are both unreliable, consistent with the reordering bug above. Lacking a working visual cross-check, every ligature-dropped gap was instead resolved from the fixed, verbatim-repeated legal phrase it sits inside (e.g. \"জাতীয় পরিচয়পত্র বা সংরক্ষিত তথ্য-উপাত্ত\", the form's own title phrase, recurring identically at the top of page 1, in item 1, in item 3's table header, and in page-2 instructions 1/2/4 — always with the same single dropped syllable in the same word) and cross-checked as a common, unambiguous Bengali administrative term, disclosed here as a judgment call rather than an independently re-derived fact.  `process.language` is `bn`: this form's own text is Bengali throughout, with only \"(NID)\" surviving as Latin-script text — unlike bd/dip's fully bilingual passport/visa specimens."
  },
  "maturity": {
    "level": "structural-reference",
    "criteria": {
      "structuralReference": true,
      "verifiedSchema": false,
      "agentReadySchema": false,
      "executionTestedSchema": false
    },
    "method": "maturity-self-assessment-v1",
    "assertedBy": "GovSchema Engineering",
    "assertedAt": "2026-07-13"
  },
  "license": "CC-BY-4.0",
  "fields": [
    {
      "name": "applicationType",
      "label": "Type of Application",
      "type": "enum",
      "required": true,
      "description": "A printed checkbox pair (\"জরুরী\"/\"সাধারণ\" — Urgent/Regular) appearing twice on the form (main application and the tear-off receipt), corroborated by page-2 instruction 4's own processing-time distinction (7 working days for an urgent application versus 30 for a regular one).",
      "sourceRef": "Page 1, \"আবেদনের ধরন\" (Type of application): \"জরুরী সাধারণ\" (Urgent / Regular)",
      "validation": {
        "enum": [
          "urgent",
          "regular"
        ]
      }
    },
    {
      "name": "applicantName",
      "label": "Applicant's / NID Holder's Name",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Page 1, item ১(ক): \"জাতীয় পরিচয়পত্র ধারীর- নাম\" (\"Of the ID card holder - Name\")",
      "validation": {
        "maxLength": 200
      }
    },
    {
      "name": "applicantNidNumber",
      "label": "Applicant's / NID Holder's National ID Number",
      "type": "string",
      "required": true,
      "classification": "sensitive-pii",
      "sourceRef": "Page 1, item ১(খ): \"জাতীয় পরিচিতি নম্বর (NID)\"",
      "validation": {
        "maxLength": 30
      }
    },
    {
      "name": "guardianName",
      "label": "Legal Guardian's Name",
      "type": "string",
      "classification": "pii",
      "description": "The form's own item 2 heading limits this block to the case where the ID card holder is under 18 years of age or has been declared incompetent by a court, and its instruction 2 requires the guardian to sign in that case — but, as with this registry's bd/dip e-passport schema's own guardian block, the form provides no dedicated age/incompetency boolean field to gate a requiredWhen condition against, so this is modeled as unconditionally optional rather than inventing a gate the source does not itself provide.",
      "sourceRef": "Page 1, item ২(ক): \"আঠারো বৎসরের কম বয়স/আদালত কর্তৃক অক্ষম ঘোষিত জাতীয় পরিচয়পত্র ধারীর ক্ষেত্রে, আইনানুগ অভিভাবকের- নাম\"",
      "validation": {
        "maxLength": 200
      }
    },
    {
      "name": "guardianNidNumber",
      "label": "Legal Guardian's National ID Number",
      "type": "string",
      "classification": "sensitive-pii",
      "description": "See guardianName — unconditionally optional for the same disclosed reason.",
      "sourceRef": "Page 1, item ২(খ): \"জাতীয় পরিচিতি নম্বর (NID)\"",
      "validation": {
        "maxLength": 30
      }
    },
    {
      "name": "correctionNameBengaliCurrent",
      "label": "Correction table, row (ক) Name (Bengali): current value",
      "type": "string",
      "description": "First of the correction table's 9 subject rows. The table's own instruction (\"অপ্রয়োজনীয় অংশ কর্তন করিয়া দিন\" — cross out the unnecessary rows) means an applicant fills in only the row(s) relevant to their requested correction, so all 18 current/new fields across the 9 rows are optional.",
      "sourceRef": "Page 1, item ৩, table row (ক): \"নাম (বাংলা)\"",
      "validation": {
        "maxLength": 200
      }
    },
    {
      "name": "correctionNameBengaliNew",
      "label": "Correction table, row (ক) Name (Bengali): requested corrected value",
      "type": "string",
      "sourceRef": "Page 1, item ৩, table row (ক): \"নাম (বাংলা)\"",
      "validation": {
        "maxLength": 200
      }
    },
    {
      "name": "correctionNameEnglishCurrent",
      "label": "Correction table, row (খ) Name (English): current value",
      "type": "string",
      "sourceRef": "Page 1, item ৩, table row (খ): \"নাম (ইংরেজি)\"",
      "validation": {
        "maxLength": 200
      }
    },
    {
      "name": "correctionNameEnglishNew",
      "label": "Correction table, row (খ) Name (English): requested corrected value",
      "type": "string",
      "sourceRef": "Page 1, item ৩, table row (খ): \"নাম (ইংরেজি)\"",
      "validation": {
        "maxLength": 200
      }
    },
    {
      "name": "correctionFathersNameCurrent",
      "label": "Correction table, row (গ) Father's Name: current value",
      "type": "string",
      "sourceRef": "Page 1, item ৩, table row (গ): \"পিতার নাম\"",
      "validation": {
        "maxLength": 200
      }
    },
    {
      "name": "correctionFathersNameNew",
      "label": "Correction table, row (গ) Father's Name: requested corrected value",
      "type": "string",
      "sourceRef": "Page 1, item ৩, table row (গ): \"পিতার নাম\"",
      "validation": {
        "maxLength": 200
      }
    },
    {
      "name": "correctionMothersNameCurrent",
      "label": "Correction table, row (ঘ) Mother's Name: current value",
      "type": "string",
      "sourceRef": "Page 1, item ৩, table row (ঘ): \"মাতার নাম\"",
      "validation": {
        "maxLength": 200
      }
    },
    {
      "name": "correctionMothersNameNew",
      "label": "Correction table, row (ঘ) Mother's Name: requested corrected value",
      "type": "string",
      "sourceRef": "Page 1, item ৩, table row (ঘ): \"মাতার নাম\"",
      "validation": {
        "maxLength": 200
      }
    },
    {
      "name": "correctionSpouseNameCurrent",
      "label": "Correction table, row (ঙ) Spouse's Name: current value",
      "type": "string",
      "sourceRef": "Page 1, item ৩, table row (ঙ): \"স্বামী/স্ত্রীর নাম\"",
      "validation": {
        "maxLength": 200
      }
    },
    {
      "name": "correctionSpouseNameNew",
      "label": "Correction table, row (ঙ) Spouse's Name: requested corrected value",
      "type": "string",
      "sourceRef": "Page 1, item ৩, table row (ঙ): \"স্বামী/স্ত্রীর নাম\"",
      "validation": {
        "maxLength": 200
      }
    },
    {
      "name": "correctionDateOfBirthCurrent",
      "label": "Correction table, row (চ) Date of Birth: current value",
      "type": "date",
      "classification": "sensitive-pii",
      "sourceRef": "Page 1, item ৩, table row (চ): \"জন্ম তারিখ\""
    },
    {
      "name": "correctionDateOfBirthNew",
      "label": "Correction table, row (চ) Date of Birth: requested corrected value",
      "type": "date",
      "classification": "sensitive-pii",
      "sourceRef": "Page 1, item ৩, table row (চ): \"জন্ম তারিখ\""
    },
    {
      "name": "correctionAddressCurrent",
      "label": "Correction table, row (ছ) Address: current value",
      "type": "string",
      "classification": "pii",
      "sourceRef": "Page 1, item ৩, table row (ছ): \"ঠিকানা\"",
      "validation": {
        "maxLength": 300
      }
    },
    {
      "name": "correctionAddressNew",
      "label": "Correction table, row (ছ) Address: requested corrected value",
      "type": "string",
      "classification": "pii",
      "sourceRef": "Page 1, item ৩, table row (ছ): \"ঠিকানা\"",
      "validation": {
        "maxLength": 300
      }
    },
    {
      "name": "correctionBloodGroupCurrent",
      "label": "Correction table, row (জ) Blood Group: current value",
      "type": "string",
      "classification": "health",
      "description": "This is a blank fill-in field on a static print/fill specimen, not an AcroForm combobox, so no embedded option list exists to model as enum; kept free-text per this registry's convention of not inventing an enum without a source-provided option list.",
      "sourceRef": "Page 1, item ৩, table row (জ): \"রক্তের গ্রুপ\"",
      "validation": {
        "maxLength": 10
      }
    },
    {
      "name": "correctionBloodGroupNew",
      "label": "Correction table, row (জ) Blood Group: requested corrected value",
      "type": "string",
      "classification": "health",
      "sourceRef": "Page 1, item ৩, table row (জ): \"রক্তের গ্রুপ\"",
      "validation": {
        "maxLength": 10
      }
    },
    {
      "name": "correctionOtherFieldName",
      "label": "Correction table, row (ঝ) Other: which field",
      "type": "string",
      "description": "The table's catch-all ninth row (\"অন্যান্য\" — Other) for a correction not covered by rows (ক)-(জ); this field records which field/subject the applicant is naming.",
      "sourceRef": "Page 1, item ৩, table row (ঝ): \"অন্যান্য\"",
      "validation": {
        "maxLength": 200
      }
    },
    {
      "name": "correctionOtherCurrentValue",
      "label": "Correction table, row (ঝ) Other: current value",
      "type": "string",
      "sourceRef": "Page 1, item ৩, table row (ঝ): \"অন্যান্য\"",
      "validation": {
        "maxLength": 300
      }
    },
    {
      "name": "correctionOtherNewValue",
      "label": "Correction table, row (ঝ) Other: requested corrected value",
      "type": "string",
      "sourceRef": "Page 1, item ৩, table row (ঝ): \"অন্যান্য\"",
      "validation": {
        "maxLength": 300
      }
    },
    {
      "name": "applicantAddress",
      "label": "Applicant's Address",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "Given alongside the applicant's own signature/thumbprint, name, mobile number, and e-mail in the form's bottom signature block. The applicant's Name here is the same fact already captured as applicantName above and is not re-modeled as a separate field.",
      "sourceRef": "Page 1, signature block, \"আবেদনকারীর স্বাক্ষর/টিপসই\" (Applicant's signature/thumbprint) column: \"ঠিকানা\" (Address)",
      "validation": {
        "maxLength": 300
      }
    },
    {
      "name": "applicantMobileNumber",
      "label": "Applicant's Mobile Number",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Page 1, signature block, \"আবেদনকারীর স্বাক্ষর/টিপসই\" column: \"মোবাইল নম্বর\" (Mobile Number)",
      "validation": {
        "maxLength": 20
      }
    },
    {
      "name": "applicantEmail",
      "label": "Applicant's E-mail",
      "type": "string",
      "classification": "pii",
      "description": "The form's own label reads \"ই-মেইল (যদি থাকে)\" — \"E-mail (if any)\" — explicitly optional.",
      "sourceRef": "Page 1, signature block, \"আবেদনকারীর স্বাক্ষর/টিপসই\" column: \"ই-মেইল (যদি থাকে)\" (E-mail, if any)",
      "validation": {
        "maxLength": 150,
        "pattern": "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$"
      }
    },
    {
      "name": "guardianAddress",
      "label": "Legal Guardian's Address",
      "type": "string",
      "classification": "pii",
      "description": "Unconditionally optional for the same reason as guardianName above.",
      "sourceRef": "Page 1, signature block, \"আইনানুগ অভিভাবকের স্বাক্ষর/ পসই (প্রযোজ্য ক্ষেত্রে)\" (Legal guardian's signature/thumbprint (if applicable)) column: \"ঠিকানা\" (Address)",
      "validation": {
        "maxLength": 300
      }
    },
    {
      "name": "guardianMobileNumber",
      "label": "Legal Guardian's Mobile Number",
      "type": "string",
      "classification": "pii",
      "sourceRef": "Page 1, signature block, guardian column: \"মোবাইল নম্বর\" (Mobile Number)",
      "validation": {
        "maxLength": 20
      }
    },
    {
      "name": "guardianEmail",
      "label": "Legal Guardian's E-mail",
      "type": "string",
      "classification": "pii",
      "sourceRef": "Page 1, signature block, guardian column: \"ই-মেইল (যদি থাকে)\" (E-mail, if any)",
      "validation": {
        "maxLength": 150,
        "pattern": "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$"
      }
    }
  ],
  "documents": [
    {
      "id": "applicantNidPhotocopy",
      "label": "Photocopy of the NID Holder's National ID Card",
      "category": "identity-document",
      "required": true,
      "belongsTo": "applicant",
      "sourceRef": "Page 2, instruction 3: \"আবেদনপত্রের সহিত জাতীয় পরিচয়পত্র ধারীর জাতীয় পরিচয়পত্রের অনুলিপি জমা দিতে হইবে\" (\"A photocopy of the ID card holder's National ID Card must be submitted with the application\")"
    },
    {
      "id": "guardianNidPhotocopy",
      "label": "Photocopy of the Legal Guardian's National ID Card",
      "category": "identity-document",
      "required": false,
      "belongsTo": "responsible-party",
      "handling": "The source's own instruction 2 makes this mandatory specifically when the NID holder is a minor or court-declared incompetent, but — consistent with guardianName/guardianNidNumber above — the form provides no boolean field to gate a requiredWhen condition against, so this is modeled as unconditionally optional and the conditional requirement is disclosed here rather than fabricated as a machine-checkable gate.",
      "sourceRef": "Page 2, instruction 2: \"...আইনানুগ অভিভাবক অনুরূপ আবেদনপত্রে স্বাক্ষর করিবেন এবং আবেদনপত্রের সহিত উক্ত অভিভাবকের জাতীয় পরিচয়পত্রের অনুলিপি অবশ্যই জমা দিতে হইবে\" (\"...the legal guardian shall sign the application in like manner, and a photocopy of that guardian's own National ID Card must certainly be submitted with the application\")"
    },
    {
      "id": "correctionSupportingDocument",
      "label": "Supporting Document for the Requested Correction",
      "category": "supporting-evidence",
      "required": false,
      "belongsTo": "applicant",
      "handling": "The correction table's own fourth column (\"মন্তব্য/দলিলাদি\" — Remarks/Documents, see e.g. correctionAddressCurrent's table row) implies supporting documentary proof accompanies whichever specific row(s) are being corrected (e.g. a birth certificate for a date-of-birth correction, a marriage certificate for a spouse-name correction), but the form itself provides no discrete, enumerated per-row document checklist the way this registry's bd/dip e-passport schema's attachment list does. Modeled here as a single generic optional supporting-evidence entry rather than fabricating a per-row document requirement the source does not itself spell out.",
      "sourceRef": "Page 1, item ৩ table, fourth column header: \"মন্তব্য/দলিলাদি\" (Remarks/Documents)"
    },
    {
      "id": "applicantSignatureAttestation",
      "label": "Applicant's (or, if the NID holder is a minor/incompetent, Legal Guardian's) Signature or Thumbprint",
      "category": "attestation",
      "required": true,
      "sourceRef": "Page 1, signature block: \"আইনানুগ অভিভাবকের স্বাক্ষর/টিপসই (প্রযোজ্য ক্ষেত্রে) আবেদনকারীর স্বাক্ষর/টিপসই\" (\"Legal guardian's signature/thumbprint (if applicable) | Applicant's signature/thumbprint\"); no verbatim declaration/attestation sentence is printed near the signature line, so no `statement` text is cited here."
    }
  ]
}
