{
  "$schema": "https://govschema.org/spec/v0.3/govschema.schema.json",
  "govschemaVersion": "0.3.0",
  "id": "ng/cac/cac-1-1-application-for-registration-of-company",
  "version": "1.0.0",
  "title": "Nigeria Application for Registration of Company (CAC Form 1.1)",
  "description": "Nigeria's Corporate Affairs Commission (CAC) Form 1.1, \"Application for Registration of Company\", used to incorporate a company limited by shares, a company limited by guarantee, or an unlimited company under the Companies and Allied Matters Act (CAMA) 2020. Opens Nigeria as GovSchema's 42nd jurisdiction, via the Business Formation vertical (1 of 6). The form itself is currently distributed unauthenticated from nigeriainfotrade.fmiti.gov.ng (a Federal Ministry of Industry, Trade and Investment domain) and is still described by current (2026) third-party company-registration guides as the official consolidated registration document; company registration itself is now filed through CAC's own login-gated Company Registration Portal (iCRP, icrp.cac.gov.ng, requiring a phone-number or NIN-linked account), so this schema follows this registry's established \"structural reference over a now-primarily-online process\" framing (cf. pe/sunat/formulario-virtual-709-declaracion-renta, uy/dgi/inscripcion-actualizacion-empresas-formulario-0351, ke/brs/cr1-application-to-register-a-company). The specimen's own cover page still cites \"the Companies and Allied Matters Act 1990\", the commission's founding statute; the currently governing companies statute is CAMA 2020 (Act No. 3 of 2020), which repealed the intervening Companies and Allied Matters Act, Cap. C20, Laws of the Federation of Nigeria, 2004 — this schema cites CAMA 2020 throughout rather than the stale cover-page year. This v1.0.0 covers the form's Type of Company selection, company name/address/share-capital particulars (Section A/B), the four printed first-director slots and their consent to act (Section C), particulars of an individual or corporate-body secretary (Sections D/D1), the legal-practitioner statutory declaration of CAMA compliance (Section E), and the presenter-of-filing block; see VERIFICATION.md for the full sourcing record and every scoping/disclosure judgment call, including a corrected AcroForm choice-widget count (9 Ch widgets, not the 2 a prior scouting pass had cited) and a documented field-name-reuse quirk across the repeating director/secretary ID-type and gender dropdowns.",
  "status": "draft",
  "jurisdiction": {
    "country": "NG",
    "level": "national"
  },
  "authority": {
    "name": "Corporate Affairs Commission",
    "abbreviation": "CAC",
    "url": "https://www.cac.gov.ng"
  },
  "process": {
    "type": "registration",
    "language": "en"
  },
  "source": {
    "url": "https://nigeriainfotrade.fmiti.gov.ng/media/CAC%20Form%201.1.pdf",
    "retrievedAt": "2026-07-12",
    "documentRef": "Form CAC 1.1, \"Application for Registration of Company\" (Corporate Affairs Commission), hosted on the Federal Ministry of Industry, Trade and Investment's Nigeria Trade Information Portal; a genuine 4-page fillable AcroForm PDF (87 widgets: 75 text, 9 choice, 3 button), Last-Modified 2017-05-11."
  },
  "verification": {
    "method": "manual-source-review-v1",
    "lastVerifiedAt": "2026-07-12",
    "verifiedBy": "GovSchema Engineering (Standards Engineer)",
    "nextReviewBy": "2027-01-12",
    "notes": "GovSchema Standard Research cycle GOV-2518. Opens Nigeria (42nd jurisdiction, confirmed by counting `ls registry/` before/after — 41 directories before this schema, 42 after) via Business Formation (1 of 6). Fetched the PDF directly via curl: HTTP 200, Content-Type application/pdf, 415,060 bytes, sha256 b0c57c0d8b9fc48e0fa5c944e2c8a9e04e8b9ad58b6c4cc2b9c348f86092c07e, Last-Modified Thu 2017-05-11 — matches a prior scouting pass's cited hash/size exactly, independently re-derived rather than trusted. pdfjs-dist getAnnotations()/getFieldObjects() across all 4 pages found 87 real Widget annotations (23 on page 1, 49 on page 2, 15 on page 3, 0 on page 4): 75 Tx (text), 9 Ch (choice/combobox), 3 Btn (checkbox) — this corrects the prior scouting pass's cited '3 button, 2 choice', which undercounted the choice widgets by 7 (there are 9, not 2). Every widget's generic name (TextN, ComboBoxN, CheckBoxN) was mapped to its printed label by rendering each page with pdfjs-dist + node-canvas at 2.5x scale and visually cross-checking each widget's rect against the nearest printed caption, the same coordinate-correlation technique this registry has used repeatedly (cf. dk/skattestyrelsen GOV-2253, ke/nrb GOV-2500). A field-name-reuse quirk was confirmed via getFieldObjects(): 'ComboBox1' (ID-type dropdown) is the same fully-qualified AcroForm field name reused across all 4 director slots plus the individual secretary (5 widget kids sharing one field), and 'ComboBox2' (gender dropdown) is reused across all 4 director slots (4 widget kids); in a real PDF viewer, filling in one of these would synchronize all of that name's kids to the same value, since PDF form fields are keyed by fully-qualified name. This schema does not preserve that bug: each director/secretary slot's ID-type and gender is modelled as its own independent enum field, since the printed form unambiguously intends one independent selection per person (cf. the analogous field-name-reuse-across-repeating-rows disclosure precedent from GOV-2338/no-brreg). 85 of the 87 widgets are modelled as fields[]; the remaining 2 (both plain Tx boxes printed directly under a \"Signature:\" caption, one each in Sections D and D1) are excluded per this registry's convention of not modelling raw signature capture as a data field, even though — unlike the individual directors' own \"Signature: ___ Date: ___\" lines, which have no widget at all in this specimen — these two happen to be genuine fillable text widgets (consistent with the form's own header instruction, \"Form Must be typed and not Handwritten\"). Confirmed via fresh web search that CAMA 2020 (Act No. 3 of 2020) is the currently governing statute, repealing the Companies and Allied Matters Act, Cap. C20, Laws of the Federation of Nigeria, 2004 (itself the successor to the 1990 Act this specimen's cover page still cites) — see full statute-currency reasoning and every field/document scoping call in VERIFICATION.md, along with the conformance run writeup (2 valid mock scenarios, 0 errors each; 5 mutation-control fixtures, exactly 1 error each; documents[] requiredness explicitly exercised)."
  },
  "maturity": {
    "level": "structural-reference",
    "criteria": {
      "structuralReference": true,
      "verifiedSchema": false,
      "agentReadySchema": false,
      "executionTestedSchema": false
    },
    "method": "maturity-self-assessment-v1",
    "assertedBy": "GovSchema Engineering (Standards Engineer)",
    "assertedAt": "2026-07-12"
  },
  "license": "CC-BY-4.0",
  "fields": [
    {
      "name": "typeOfCompanyLimitedByShares",
      "label": "Type of company: Limited by Shares",
      "type": "boolean",
      "required": false,
      "description": "One of three mutually exclusive printed checkbox options for the type of company being registered; see exclusivityGroups. Modelled as an independent boolean per this registry's se/polisen/fi/poliisi precedent for a genuinely independent (non-radio) set of Btn checkbox widgets representing a single-select choice.",
      "sourceRef": "\"Type of Company (Tick as appropriate)\" — \"LIMITED BY SHARES\""
    },
    {
      "name": "typeOfCompanyLimitedByGuarantee",
      "label": "Type of company: Limited by Guarantee",
      "type": "boolean",
      "required": false,
      "description": "See typeOfCompanyLimitedByShares for the exclusivity rationale.",
      "sourceRef": "\"Type of Company (Tick as appropriate)\" — \"LIMITED BY GUARANTEE\""
    },
    {
      "name": "typeOfCompanyUnlimited",
      "label": "Type of company: Unlimited",
      "type": "boolean",
      "required": false,
      "description": "See typeOfCompanyLimitedByShares for the exclusivity rationale.",
      "sourceRef": "\"Type of Company (Tick as appropriate)\" — \"UNLIMITED\""
    },
    {
      "name": "companyName",
      "label": "Company name",
      "type": "string",
      "required": true,
      "description": "The proposed name of the company being registered.",
      "sourceRef": "\"COMPANY NAME\""
    },
    {
      "name": "registeredOfficeAddress",
      "label": "Registered office address",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Section A: Company Address — \"Registered Office Address:\""
    },
    {
      "name": "headOfficeAddress",
      "label": "Head office address (if different from registered office address)",
      "type": "string",
      "classification": "pii",
      "description": "Not marked as obligatory by the source — only completed if the head office differs from the registered office.",
      "sourceRef": "Section A: Company Address — \"Head Office Address: (If different from Registered Office Address)\""
    },
    {
      "name": "companyEmailAddress",
      "label": "Company email address",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Section A: Company Address — \"Email Address:\"",
      "validation": { "pattern": "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$" }
    },
    {
      "name": "authorizedShareCapitalAmountInWords",
      "label": "Authorized share capital: amount in words",
      "type": "string",
      "requiredWhen": { "any": [ { "field": "typeOfCompanyLimitedByShares", "equals": true }, { "field": "typeOfCompanyUnlimited", "equals": true } ] },
      "description": "The authorized share capital, spelt out in words. Section B does not apply to a company limited by guarantee, which CAMA 2020 s.26(1)/Note (g) on this form's own instructions ('A company limited by guarantee should not be registered with a share capital') bars from having a share capital at all.",
      "sourceRef": "Section B: The Authorized Share Capital of the Company Is: — wide blank line captioned \"AMOUNT IN WORDS\" below it"
    },
    {
      "name": "authorizedShareCapitalAmountNgn",
      "label": "Authorized share capital: amount in figures (NGN)",
      "type": "number",
      "requiredWhen": { "any": [ { "field": "typeOfCompanyLimitedByShares", "equals": true }, { "field": "typeOfCompanyUnlimited", "equals": true } ] },
      "description": "Per this form's own Note (f): minimum NGN 10,000 for a private company, NGN 500,000 for a public company; at least 25% of nominal share capital must be issued at all times. See authorizedShareCapitalAmountInWords for the guarantee-company carve-out.",
      "sourceRef": "Section B: The Authorized Share Capital of the Company Is: — \"N\" blank",
      "validation": { "minimum": 0 }
    },
    {
      "name": "authorizedShareCapitalNumberOfShares",
      "label": "Authorized share capital: divided into (number of shares)",
      "type": "integer",
      "requiredWhen": { "any": [ { "field": "typeOfCompanyLimitedByShares", "equals": true }, { "field": "typeOfCompanyUnlimited", "equals": true } ] },
      "sourceRef": "Section B — \"DIVIDED INTO ___ OF N ___ EACH\"",
      "validation": { "minimum": 1 }
    },
    {
      "name": "authorizedShareCapitalNominalValuePerShareNgn",
      "label": "Authorized share capital: nominal value of each share (NGN)",
      "type": "number",
      "requiredWhen": { "any": [ { "field": "typeOfCompanyLimitedByShares", "equals": true }, { "field": "typeOfCompanyUnlimited", "equals": true } ] },
      "sourceRef": "Section B — \"DIVIDED INTO ___ OF N ___ EACH\"",
      "validation": { "minimum": 0 }
    },
    {
      "name": "director1Name",
      "label": "Director 1: name",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "Section C prints exactly 4 numbered first-director slots on the base form itself (no repeating-group flattening cap invented by this schema); at least one director is required — CAMA 2020 s.271/s.18 permits a single director for a small private company.",
      "sourceRef": "Section C: Particulars of First Directors & Their Consent to Act, item 1 — \"Name:\""
    },
    {
      "name": "director1Address",
      "label": "Director 1: address",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Section C, item 1 — \"Address:\""
    },
    {
      "name": "director1Nationality",
      "label": "Director 1: nationality",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Section C, item 1 — \"Nationality:\""
    },
    {
      "name": "director1City",
      "label": "Director 1: city",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Section C, item 1 — \"City\""
    },
    {
      "name": "director1State",
      "label": "Director 1: state",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Section C, item 1 — \"State\""
    },
    {
      "name": "director1CountryOfResidence",
      "label": "Director 1: country of residence",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Section C, item 1 — \"Country of Residence\""
    },
    {
      "name": "director1IdNo",
      "label": "Director 1: ID number",
      "type": "string",
      "required": true,
      "classification": "sensitive-pii",
      "sourceRef": "Section C, item 1 — \"ID No.\""
    },
    {
      "name": "director1IdType",
      "label": "Director 1: ID type",
      "type": "enum",
      "required": true,
      "classification": "pii",
      "description": "Options taken verbatim from the ID-type dropdown's own printed AcroForm choice list.",
      "sourceRef": "Section C, item 1 — \"ID. Type\" (dropdown)",
      "validation": {
        "enum": ["Driver License", "International ID Card", "International Passport", "Voter Card"]
      }
    },
    {
      "name": "director1Email",
      "label": "Director 1: email",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Section C, item 1 — \"Email:\"",
      "validation": { "pattern": "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$" }
    },
    {
      "name": "director1DateOfBirth",
      "label": "Director 1: date of birth",
      "type": "date",
      "required": true,
      "classification": "pii",
      "description": "Per this form's own Note (b), a director must be at least 18 years old (CAMA 2020 s.257 for other grounds of disqualification).",
      "sourceRef": "Section C, item 1 — \"Date of Birth:\""
    },
    {
      "name": "director1Gender",
      "label": "Director 1: gender",
      "type": "enum",
      "required": true,
      "classification": "pii",
      "description": "Options taken verbatim from the gender dropdown's own printed AcroForm choice list.",
      "sourceRef": "Section C, item 1 — \"Gender\" (dropdown)",
      "validation": { "enum": ["Female", "Male"] }
    },
    {
      "name": "director1PhoneNo",
      "label": "Director 1: phone number",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "Section C, item 1 — \"Phone No.\""
    },
    {
      "name": "director2Name",
      "label": "Director 2: name",
      "type": "string",
      "classification": "pii",
      "description": "Second of the 4 printed director slots. Optional — a company may have only 1 director.",
      "sourceRef": "Section C, item 2 — \"Name:\""
    },
    {
      "name": "director2Address",
      "label": "Director 2: address",
      "type": "string",
      "classification": "pii",
      "sourceRef": "Section C, item 2 — \"Address:\""
    },
    {
      "name": "director2Nationality",
      "label": "Director 2: nationality",
      "type": "string",
      "classification": "pii",
      "sourceRef": "Section C, item 2 — \"Nationality:\""
    },
    {
      "name": "director2City",
      "label": "Director 2: city",
      "type": "string",
      "classification": "pii",
      "sourceRef": "Section C, item 2 — \"City\""
    },
    {
      "name": "director2State",
      "label": "Director 2: state",
      "type": "string",
      "classification": "pii",
      "sourceRef": "Section C, item 2 — \"State:\""
    },
    {
      "name": "director2CountryOfResidence",
      "label": "Director 2: country of residence",
      "type": "string",
      "classification": "pii",
      "sourceRef": "Section C, item 2 — \"Country of Residence\""
    },
    {
      "name": "director2IdNo",
      "label": "Director 2: ID number",
      "type": "string",
      "classification": "sensitive-pii",
      "sourceRef": "Section C, item 2 — \"ID No.\""
    },
    {
      "name": "director2IdType",
      "label": "Director 2: ID type",
      "type": "enum",
      "classification": "pii",
      "sourceRef": "Section C, item 2 — \"ID. Type\" (dropdown)",
      "validation": {
        "enum": ["Driver License", "International ID Card", "International Passport", "Voter Card"]
      }
    },
    {
      "name": "director2Email",
      "label": "Director 2: email",
      "type": "string",
      "classification": "pii",
      "sourceRef": "Section C, item 2 — \"Email:\"",
      "validation": { "pattern": "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$" }
    },
    {
      "name": "director2DateOfBirth",
      "label": "Director 2: date of birth",
      "type": "date",
      "classification": "pii",
      "sourceRef": "Section C, item 2 — \"Date of Birth:\""
    },
    {
      "name": "director2Gender",
      "label": "Director 2: gender",
      "type": "enum",
      "classification": "pii",
      "sourceRef": "Section C, item 2 — \"Gender\" (dropdown)",
      "validation": { "enum": ["Female", "Male"] }
    },
    {
      "name": "director2PhoneNo",
      "label": "Director 2: phone number",
      "type": "string",
      "classification": "pii",
      "sourceRef": "Section C, item 2 — \"Phone No.\""
    },
    {
      "name": "director3Name",
      "label": "Director 3: name",
      "type": "string",
      "classification": "pii",
      "description": "Third of the 4 printed director slots. Optional.",
      "sourceRef": "Section C, item 3 — \"Name:\""
    },
    {
      "name": "director3Address",
      "label": "Director 3: address",
      "type": "string",
      "classification": "pii",
      "sourceRef": "Section C, item 3 — \"Address:\""
    },
    {
      "name": "director3Nationality",
      "label": "Director 3: nationality",
      "type": "string",
      "classification": "pii",
      "sourceRef": "Section C, item 3 — \"Nationality:\""
    },
    {
      "name": "director3City",
      "label": "Director 3: city",
      "type": "string",
      "classification": "pii",
      "sourceRef": "Section C, item 3 — \"City\""
    },
    {
      "name": "director3State",
      "label": "Director 3: state",
      "type": "string",
      "classification": "pii",
      "sourceRef": "Section C, item 3 — \"State:\""
    },
    {
      "name": "director3CountryOfResidence",
      "label": "Director 3: country of residence",
      "type": "string",
      "classification": "pii",
      "sourceRef": "Section C, item 3 — \"Country of Residence\""
    },
    {
      "name": "director3IdNo",
      "label": "Director 3: ID number",
      "type": "string",
      "classification": "sensitive-pii",
      "sourceRef": "Section C, item 3 — \"ID No.\""
    },
    {
      "name": "director3IdType",
      "label": "Director 3: ID type",
      "type": "enum",
      "classification": "pii",
      "sourceRef": "Section C, item 3 — \"ID. Type\" (dropdown)",
      "validation": {
        "enum": ["Driver License", "International ID Card", "International Passport", "Voter Card"]
      }
    },
    {
      "name": "director3Email",
      "label": "Director 3: email",
      "type": "string",
      "classification": "pii",
      "sourceRef": "Section C, item 3 — \"Email:\"",
      "validation": { "pattern": "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$" }
    },
    {
      "name": "director3DateOfBirth",
      "label": "Director 3: date of birth",
      "type": "date",
      "classification": "pii",
      "sourceRef": "Section C, item 3 — \"Date of Birth:\""
    },
    {
      "name": "director3Gender",
      "label": "Director 3: gender",
      "type": "enum",
      "classification": "pii",
      "sourceRef": "Section C, item 3 — \"Gender\" (dropdown)",
      "validation": { "enum": ["Female", "Male"] }
    },
    {
      "name": "director3PhoneNo",
      "label": "Director 3: phone number",
      "type": "string",
      "classification": "pii",
      "sourceRef": "Section C, item 3 — \"Phone No.\""
    },
    {
      "name": "director4Name",
      "label": "Director 4: name",
      "type": "string",
      "classification": "pii",
      "description": "Fourth of the 4 printed director slots. Optional.",
      "sourceRef": "Section C, item 4 — \"Name:\""
    },
    {
      "name": "director4Address",
      "label": "Director 4: address",
      "type": "string",
      "classification": "pii",
      "sourceRef": "Section C, item 4 — \"Address:\""
    },
    {
      "name": "director4Nationality",
      "label": "Director 4: nationality",
      "type": "string",
      "classification": "pii",
      "sourceRef": "Section C, item 4 — \"Nationality:\""
    },
    {
      "name": "director4City",
      "label": "Director 4: city",
      "type": "string",
      "classification": "pii",
      "sourceRef": "Section C, item 4 — \"City\""
    },
    {
      "name": "director4State",
      "label": "Director 4: state",
      "type": "string",
      "classification": "pii",
      "sourceRef": "Section C, item 4 — \"State:\""
    },
    {
      "name": "director4CountryOfResidence",
      "label": "Director 4: country of residence",
      "type": "string",
      "classification": "pii",
      "sourceRef": "Section C, item 4 — \"Country of Residence\""
    },
    {
      "name": "director4IdNo",
      "label": "Director 4: ID number",
      "type": "string",
      "classification": "sensitive-pii",
      "sourceRef": "Section C, item 4 — \"ID No.\""
    },
    {
      "name": "director4IdType",
      "label": "Director 4: ID type",
      "type": "enum",
      "classification": "pii",
      "sourceRef": "Section C, item 4 — \"ID. Type\" (dropdown)",
      "validation": {
        "enum": ["Driver License", "International ID Card", "International Passport", "Voter Card"]
      }
    },
    {
      "name": "director4Email",
      "label": "Director 4: email",
      "type": "string",
      "classification": "pii",
      "sourceRef": "Section C, item 4 — \"Email:\"",
      "validation": { "pattern": "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$" }
    },
    {
      "name": "director4DateOfBirth",
      "label": "Director 4: date of birth",
      "type": "date",
      "classification": "pii",
      "sourceRef": "Section C, item 4 — \"Date of Birth:\""
    },
    {
      "name": "director4Gender",
      "label": "Director 4: gender",
      "type": "enum",
      "classification": "pii",
      "sourceRef": "Section C, item 4 — \"Gender\" (dropdown)",
      "validation": { "enum": ["Female", "Male"] }
    },
    {
      "name": "director4PhoneNo",
      "label": "Director 4: phone number",
      "type": "string",
      "classification": "pii",
      "sourceRef": "Section C, item 4 — \"Phone No.\""
    },
    {
      "name": "secretaryIndividualName",
      "label": "Secretary (individual): name",
      "type": "string",
      "classification": "pii",
      "description": "Section D applies only if the company appoints a natural person as its secretary. CAMA 2020 s.330-something-analogous provisions no longer require a secretary for a small company; the form has no dedicated 'has a secretary?' selector, and Sections D/D1 are mutually exclusive alternatives (individual vs. corporate secretary) with no printed selector field to gate a requiredWhen on either — both are left fully optional field-by-field, disclosed here rather than fabricating a gating field, per this registry's established 'spec precision over cleverness' precedent (cf. se/skatteverket's dual-contact-address disclosure).",
      "sourceRef": "Section D: Particulars of Secretary (Individual) — \"Name:\""
    },
    {
      "name": "secretaryIndividualAddress",
      "label": "Secretary (individual): address",
      "type": "string",
      "classification": "pii",
      "sourceRef": "Section D — \"Address:\""
    },
    {
      "name": "secretaryIndividualPhoneNo",
      "label": "Secretary (individual): phone number",
      "type": "string",
      "classification": "pii",
      "sourceRef": "Section D — \"Phone No.\""
    },
    {
      "name": "secretaryIndividualEmail",
      "label": "Secretary (individual): email",
      "type": "string",
      "classification": "pii",
      "sourceRef": "Section D — \"Email:\"",
      "validation": { "pattern": "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$" }
    },
    {
      "name": "secretaryIndividualIdType",
      "label": "Secretary (individual): ID type",
      "type": "enum",
      "classification": "pii",
      "sourceRef": "Section D — \"ID Type:\" (dropdown)",
      "validation": {
        "enum": ["Driver License", "International ID Card", "International Passport", "Voter Card"]
      }
    },
    {
      "name": "secretaryIndividualIdNo",
      "label": "Secretary (individual): ID number",
      "type": "string",
      "classification": "sensitive-pii",
      "sourceRef": "Section D — \"ID No:\""
    },
    {
      "name": "secretaryCorporateName",
      "label": "Secretary (firm/corporation): name",
      "type": "string",
      "description": "Section D1 applies only if the company appoints a corporate body as its secretary — an alternative to Section D. See secretaryIndividualName for the mutual-exclusivity disclosure.",
      "sourceRef": "Section D1: Particulars of Secretary (Firm/Corporation) — \"Name:\""
    },
    {
      "name": "secretaryCorporateBnRcNo",
      "label": "Secretary (firm/corporation): business name/registration number (BN/RC No.)",
      "type": "string",
      "sourceRef": "Section D1 — \"BN/RC No:\""
    },
    {
      "name": "secretaryCorporatePhoneNo",
      "label": "Secretary (firm/corporation): phone number",
      "type": "string",
      "sourceRef": "Section D1 — \"Phone No.\""
    },
    {
      "name": "secretaryCorporateEmail",
      "label": "Secretary (firm/corporation): email",
      "type": "string",
      "sourceRef": "Section D1 — \"Email:\"",
      "validation": { "pattern": "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$" }
    },
    {
      "name": "secretaryCorporateAddress",
      "label": "Secretary (firm/corporation): address",
      "type": "string",
      "sourceRef": "Section D1 — \"Address:\""
    },
    {
      "name": "deponentName",
      "label": "Deponent: name (legal practitioner making the statutory declaration)",
      "type": "string",
      "classification": "pii",
      "description": "Section E is a statutory declaration of CAMA compliance made by a legal practitioner. This form's own Note (j) states a first director or subscriber may now prepare and present the incorporation documents directly without an accredited professional, so this whole section is modelled as optional rather than universally required — completed only when a legal practitioner participates in the filing.",
      "sourceRef": "Section E: Statutory Declaration of Compliance with the requirements of CAMA by a Legal Practitioner — \"Name of Deponent:\""
    },
    {
      "name": "deponentAddress",
      "label": "Deponent: address",
      "type": "string",
      "classification": "pii",
      "sourceRef": "Section E — \"Address:\""
    },
    {
      "name": "deponentAccreditationNo",
      "label": "Deponent: accreditation number (if any)",
      "type": "string",
      "description": "Explicitly optional per the source's own \"(if any)\" qualifier.",
      "sourceRef": "Section E — \"Accreditation No. (if any)\""
    },
    {
      "name": "deponentPhoneNo",
      "label": "Deponent: phone number",
      "type": "string",
      "classification": "pii",
      "sourceRef": "Section E — \"Phone No.:\""
    },
    {
      "name": "declarationPlace",
      "label": "Declared at (place)",
      "type": "string",
      "sourceRef": "Section E — \"Declared at _______ on the ___ day of ___ 20__\""
    },
    {
      "name": "declarationDay",
      "label": "Declared on the (day)",
      "type": "string",
      "sourceRef": "Section E — \"... on the ___ day of ___ 20__\""
    },
    {
      "name": "declarationMonth",
      "label": "Declared: month",
      "type": "string",
      "sourceRef": "Section E — \"... day of ___ 20__\""
    },
    {
      "name": "declarationYear",
      "label": "Declared: year (last two digits, printed \"20__\")",
      "type": "string",
      "description": "The form pre-prints the century as \"20\", leaving only the last two digits blank.",
      "sourceRef": "Section E — \"... 20___\"",
      "validation": { "pattern": "^[0-9]{2}$" }
    },
    {
      "name": "commissionerOrNotaryName",
      "label": "Before Me: Commissioner of Oaths/Notary Public",
      "type": "string",
      "description": "Completed by the Commissioner of Oaths/Notary Public administering the oath at the time of the declaration, not by the applicant; genuinely optional from the applicant's perspective and only relevant when Section E itself is used.",
      "sourceRef": "Section E — \"Before Me: _______\" / \"Commissioner of Oaths/Notary Public\""
    },
    {
      "name": "presenterName",
      "label": "Presented for filing by: name",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "Identifies who lodges the completed application with CAC — per Note (j), this may be a first director/subscriber presenting directly, or an accredited professional.",
      "sourceRef": "\"PRESENTED FOR FILING BY:\" — \"Name:\""
    },
    {
      "name": "presenterAddress",
      "label": "Presented for filing by: address",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "\"PRESENTED FOR FILING BY:\" — \"Address:\""
    },
    {
      "name": "presenterPhoneNo",
      "label": "Presented for filing by: phone number",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "\"PRESENTED FOR FILING BY:\" — \"Phone No.:\""
    },
    {
      "name": "presenterEmail",
      "label": "Presented for filing by: email",
      "type": "string",
      "classification": "pii",
      "description": "Not marked as obligatory by the source.",
      "sourceRef": "\"PRESENTED FOR FILING BY:\" — \"Email:\"",
      "validation": { "pattern": "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$" }
    },
    {
      "name": "presenterAccreditationNo",
      "label": "Presented for filing by: accreditation number (where applicable)",
      "type": "string",
      "description": "Explicitly optional per the source's own \"(Where Applicable)\" qualifier.",
      "sourceRef": "\"PRESENTED FOR FILING BY:\" — \"Accreditation No. (Where Applicable):\""
    },
    {
      "name": "presenterDate",
      "label": "Presented for filing by: date",
      "type": "date",
      "required": true,
      "sourceRef": "\"PRESENTED FOR FILING BY:\" — \"Date:\""
    }
  ],
  "documents": [
    {
      "id": "directorSubscriberSecretaryIdCopy",
      "label": "Copy of Data Page of International Passport, Driver's License, or National Identity Card (per individual director, subscriber and secretary)",
      "category": "identity-document",
      "required": true,
      "belongsTo": "other",
      "handling": "for-non-nigerians-only-the-data-page-of-international-passport-is-acceptable-a-per-person-carve-out-this-schemas-flattened-director-slots-have-no-single-boolean-to-gate-requiredWhen-on-so-disclosed-here-in-prose",
      "constraints": { "mediaTypes": ["application/pdf", "image/jpeg", "image/png"] },
      "sourceRef": "Notes (a): \"A copy of either the Data Page of International Passport, Driver's license or National Identity Card of every individual director, subscriber and secretary must be attached to this application. For non-Nigerians only Data Page of International Passport is acceptable.\""
    },
    {
      "id": "memorandumAndArticlesOfAssociation",
      "label": "Duly signed and stamped copies of the memorandum and articles of association",
      "category": "supporting-evidence",
      "required": true,
      "belongsTo": "applicant",
      "constraints": { "mediaTypes": ["application/pdf"] },
      "sourceRef": "Notes (i): \"This form must be accompanied by duly signed and stamped copies of the memorandum and articles of association. Companies are required to adopt the applicable model articles in Table 'A' of CAMA. Any modification to the table must be highlighted and registered together with the memorandum.\""
    },
    {
      "id": "minorSubscriberBirthCertificate",
      "label": "Birth certificate of a minor subscriber (or Data Page of International Passport)",
      "category": "supporting-evidence",
      "required": false,
      "belongsTo": "dependent",
      "handling": "required-only-when-a-subscriber-to-the-memorandum-is-a-minor-below-18-this-schema-does-not-capture-subscriber-age-or-minority-status-as-a-field-distinct-from-the-director-blocks-so-this-condition-is-disclosed-in-prose-rather-than-gated-via-requiredWhen",
      "constraints": { "mediaTypes": ["application/pdf", "image/jpeg", "image/png"] },
      "sourceRef": "Notes (c)-(d): \"Minors can subscribe to the shares of the company provided there are atleast two other qualified persons. A copy of Birth Certificate of every minor that is a subscriber issued by the National Population Commission or Data Page of International Passport must be attached.\""
    },
    {
      "id": "corporateSubscriberBoardResolution",
      "label": "Board resolution (corporate-body subscriber or director nomination)",
      "category": "supporting-evidence",
      "required": false,
      "belongsTo": "other",
      "handling": "required-only-where-a-corporate-body-is-a-subscriber-or-nominates-a-director-to-the-board-for-a-fixed-term-not-gated-via-requiredWhen-for-the-same-reason-as-minorSubscriberBirthCertificate",
      "constraints": { "mediaTypes": ["application/pdf"] },
      "sourceRef": "Notes (e): \"Where a corporate body is a subscriber or nominates a director to the board for a fixed term, a board resolution to that effect must be attached.\""
    },
    {
      "id": "foreignCorporateSubscriberCertificateOfIncorporation",
      "label": "Certificate of registration of a corporate-body subscriber registered outside Nigeria (translated if not in English)",
      "category": "supporting-evidence",
      "required": false,
      "belongsTo": "other",
      "handling": "required-only-for-a-corporate-body-subscriber-registered-outside-nigeria-not-gated-via-requiredWhen-for-the-same-reason-as-minorSubscriberBirthCertificate",
      "constraints": { "mediaTypes": ["application/pdf"] },
      "sourceRef": "Notes (e): \"For a corporate body registered outside Nigeria, a copy of certificate of registration duly translated if not in English Language must in addition be provided.\""
    },
    {
      "id": "foreignDirectorOrSubscriberResidencePermitCopy",
      "label": "Copy of residence permit (foreign director or subscriber using a Nigerian address)",
      "category": "identity-document",
      "required": false,
      "belongsTo": "other",
      "handling": "required-only-for-foreigners-who-are-directors-or-subscribers-using-a-nigerian-address-not-gated-via-requiredWhen-for-the-same-reason-as-minorSubscriberBirthCertificate",
      "constraints": { "mediaTypes": ["application/pdf", "image/jpeg", "image/png"] },
      "sourceRef": "Notes (h): \"Foreigners that are directors or subscribers using Nigerian addresses must attach copies of their residence permit. Other foreigners should use their residential addresses in their country of residence.\""
    },
    {
      "id": "directorConsentToActAttestation",
      "label": "Director's consent to act",
      "category": "attestation",
      "required": true,
      "statement": "I Consent to be a Director of the above named Company",
      "sourceRef": "Section C, items 1-4, each printed beneath the director's own signature/date line: \"I Consent to be a Director of the above named Company\""
    },
    {
      "id": "deponentStatutoryDeclarationAttestation",
      "label": "Deponent's statutory declaration of CAMA compliance",
      "category": "attestation",
      "required": false,
      "handling": "optional-in-step-with-section-es-own-fields-completed-only-when-a-legal-practitioner-participates-in-the-filing-per-note-j",
      "statement": "Do solemnly declare that the above proposed company has fulfilled the requirements for its registration",
      "sourceRef": "Section E: \"Do solemnly declare that the above proposed company has fulfilled the requirements for its registration\""
    }
  ],
  "exclusivityGroups": [
    {
      "id": "type_of_company",
      "fields": [
        "typeOfCompanyLimitedByShares",
        "typeOfCompanyLimitedByGuarantee",
        "typeOfCompanyUnlimited"
      ]
    }
  ]
}
