{
  "schema_version": 1,
  "version": "0.1.3",
  "generated_at": "2026-05-16T12:00:00Z",
  "paths": {
    "certificat-residence-historique": {
      "id": "certificat-residence-historique",
      "uid": "pth-00005",
      "title": {
        "fr": "Certificat de résidence principale avec historique",
        "nl": "Bewijs van hoofdverblijfplaats met historiek",
        "en": "Certificate of principal residence with historical address record",
        "de": "Wohnsitzbescheinigung mit historischen Adressdaten"
      },
      "description": {
        "fr": "Certificat extrait du registre national listant l'adresse principale et l'historique des adresses; document central pour démontrer la résidence ininterrompue exigée par l'article 12bis. Délivré par la commune ou téléchargé via le Registre national / Irisbox.",
        "nl": "Uittreksel uit het rijksregister met de hoofdverblijfplaats en het historiek van adressen; centraal document om de ononderbroken verblijfsduur uit artikel 12bis aan te tonen. Afgeleverd door de gemeente of gedownload via het rijksregister / Irisbox.",
        "en": "Population-register extract listing the principal residence and the address history; the core document used to demonstrate the uninterrupted residence required under article 12bis. Issued by the commune or downloaded via the National Register / Irisbox."
      },
      "themes": [
        "identity-civil-status",
        "residency-and-immigration"
      ],
      "authority_id": "communes-collective",
      "schema_version": 1,
      "version": "0.1.1",
      "status": "alpha",
      "origin": "be-civic",
      "category": "belgium-federal-civil-status",
      "purpose": "submission",
      "applies_to": {
        "residency_status": [
          "registered_resident",
          "long_term_resident",
          "family_reunification",
          "eu_long_term_resident",
          "refugee",
          "stateless"
        ],
        "audience_summary": "anyone registered in the Belgian population register for at least three months"
      },
      "outputs": [
        {
          "name": "residence_history_certificate",
          "type": "document_artefact"
        }
      ],
      "sources": [
        {
          "id": "irisbox-tier1-rn-39",
          "source_class": "brussels-tier1-quicklink",
          "audience": {
            "regions": [
              "brussels"
            ],
            "communes": [
              "all-19-rbc-communes"
            ],
            "predicates": [
              {
                "field": "user.region",
                "op": "eq",
                "value": "brussels"
              }
            ]
          },
          "auth": {
            "method": "csam",
            "supported_providers": [
              "itsme",
              "eid",
              "mygov.be",
              "smart-id",
              "security-code",
              "eidas"
            ]
          },
          "procedure": {
            "kind": "deeplink-after-auth",
            "deeplink": "https://irisbox.irisnet.be/irisbox/quickLinks/origin/rn/type/39",
            "post_auth_behavior": "server-generates-pdf-streams-as-download",
            "expected_response_type": "application/pdf",
            "captcha": false,
            "delivery_mode": "sync-pdf-download",
            "estimated_seconds": 30
          },
          "validation_path": {
            "kind": "agent-driven-headed-with-user-auth",
            "success_signals": [
              {
                "check": "response-content-type-includes",
                "value": "application/pdf"
              },
              {
                "check": "downloaded-bytes-start-with",
                "value": "%PDF"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "source-retired"
              },
              {
                "check": "page-text-contains",
                "value": "Service indisponible",
                "outcome": "source-temporarily-down"
              },
              {
                "check": "redirects-to",
                "value": "/irisbox/$",
                "outcome": "auth-rejected-or-deeplink-changed"
              }
            ],
            "user_confirms_required": false
          },
          "priority": 90,
          "actor": {
            "primary": "both",
            "handoff": {
              "when": "auth-wall",
              "agent_responsibility": "I'll give you a direct link to the Brussels Irisbox quicklink for the residence-history certificate. The link bypasses the form and asks Irisbox to generate your certificate as a PDF the moment you sign in.",
              "user_responsibility": "Sign in with itsme or your eID. The portal will generate your residence-history certificate as a PDF and download it to your device. Save it to your Be Civic folder so we can attach it to your dossier.",
              "resumption": "Tell me 'got it' once the PDF has downloaded. If after CSAM the deeplink redirects to the Irisbox home page instead of producing the PDF, re-click the original deeplink — Irisbox then resumes correctly. The same re-click pattern appears across Irisbox, MyMinfin, and mycareer.be after CSAM."
            }
          },
          "fallback_only": false,
          "preferred_auth_provider": "itsme",
          "audited_document_delivery": true,
          "post_handoff_observed": false,
          "notes": "Audited Tier-1; not probed per §24.9 invariant 3. URL pattern verified from quicklinks-rn.json (type 39 = Certificat de résidence principale avec historique). CSAM re-click pattern observed in 2026-05-16 plugin test: if the deeplink redirects to Irisbox home after CSAM, re-click the original deeplink to resume."
        },
        {
          "id": "wallonia-population-register-page",
          "source_class": "wallonia-sitemap-page",
          "audience": {
            "regions": [
              "wallonia"
            ],
            "predicates": [
              {
                "field": "user.region",
                "op": "eq",
                "value": "wallonia"
              }
            ]
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "sitemap-page-fetch",
            "url": "https://www.wallonie.be/fr/demarches/obtenir-un-certificat-des-registres-de-population-domicile-composition-de-menage-nationalite-vie",
            "delivery_mode": "informational-routing"
          },
          "validation_path": {
            "kind": "agent-driven-headless",
            "success_signals": [
              {
                "check": "sitemap-contains-path",
                "value": "/fr/demarches/obtenir-un-certificat-des-registres-de-population-domicile-composition-de-menage-nationalite-vie"
              },
              {
                "check": "page-loads-200",
                "value": 200
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "source-retired"
              },
              {
                "check": "sitemap-entry-missing",
                "value": "demarches/obtenir-un-certificat-des-registres-de-population",
                "outcome": "sitemap-entry-removed"
              }
            ],
            "user_confirms_required": false
          },
          "priority": 65,
          "actor": {
            "primary": "agent",
            "handoff": {
              "when": "none",
              "agent_responsibility": "I'll read the Wallonia commune-services page that explains how your commune issues the population-register certificate. The page itself does not deliver the document — it routes you to your commune or to the federal 'Mon dossier' portal.",
              "user_responsibility": "None — the agent handles this source fully with no customer action required.",
              "resumption": "I'll quote the relevant parts back to you and recommend the federal portal handoff next; if that also fails, we'll arrange a commune visit."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Probed 2026-05-12: HTTP 200, title 'Obtenir un certificat des registres de population (domicile, composition de ménage, nationalité, vie, …)' matched. Wallonia entry routes citizens to either their commune or the federal IBZ 'Mon dossier' surface."
        },
        {
          "id": "my-belgium-rrn-handoff",
          "source_class": "federal-auth-handoff",
          "audience": {
            "regions": [
              "federal"
            ],
            "predicates": [
              {
                "field": "user.document_inventory.has_eID",
                "op": "eq",
                "value": true
              }
            ]
          },
          "auth": {
            "method": "csam",
            "supported_providers": [
              "itsme",
              "eid",
              "mygov.be",
              "smart-id",
              "security-code"
            ]
          },
          "procedure": {
            "kind": "deeplink-to-auth-wall",
            "url": "https://my.belgium.be/",
            "post_auth_path": "/rijksregister/mon-dossier",
            "delivery_mode": "user-driven-after-auth"
          },
          "validation_path": {
            "kind": "agent-reaches-auth-wall-only",
            "success_signals": [
              {
                "check": "deeplink-reaches-auth-wall",
                "value": true
              },
              {
                "check": "redirect-chain-matches-pattern",
                "value": "^https://my\\.belgium\\.be/.*"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "404"
              },
              {
                "check": "redirects-to",
                "value": "unrelated-page",
                "outcome": "redirect-to-unrelated-page"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 60,
          "actor": {
            "primary": "user",
            "handoff": {
              "when": "full-takeover",
              "agent_responsibility": "I'll send you to my.belgium.be. Once you sign in with CSAM (itsme or eID), open the 'Registre national / Rijksregister' tile and pick the certificate listing residence with address history.",
              "user_responsibility": "Sign in with CSAM. From the 'Mon dossier' surface, request the residence certificate with history and download it. Save the PDF to your Be Civic folder.",
              "resumption": "Tell me when you have the PDF. If the federal portal does not surface a history option, the offline route at your commune is the fallback."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Probed 2026-05-12: HTTP 200 (assumed), portal references CSAM and Rijksregister 'Mon dossier' surface confirmed in fetched content."
        },
        {
          "id": "offline-commune-service-population",
          "source_class": "offline",
          "audience": {
            "regions": [
              "brussels",
              "wallonia",
              "flanders",
              "federal"
            ],
            "predicates": [
              {
                "field": "user.commune_nis5",
                "op": "exists",
                "value": true
              }
            ]
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "commune-visit",
            "desk": "Service Population / Bevolkingsdienst",
            "delivery_mode": "in-person-or-postal"
          },
          "validation_path": {
            "kind": "user-confirms",
            "success_signals": [
              {
                "check": "user-confirms-document-received",
                "value": true
              }
            ],
            "failure_signals": [
              {
                "check": "user-reports-document-refused",
                "value": "commune refused the request",
                "outcome": "source-refused"
              },
              {
                "check": "commune-says-elsewhere",
                "value": "use federal portal",
                "outcome": "commune-redirected-elsewhere"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 10,
          "actor": {
            "primary": "user",
            "handoff": {
              "when": "physical-presence",
              "agent_responsibility": "I'll prepare what you need to ask for: a 'certificat de résidence principale avec historique des adresses' (FR) / 'bewijs van hoofdverblijfplaats met historiek' (NL) / 'Wohnsitzbescheinigung mit historischen Adressdaten' (DE). Bring your eID and expect a small fee (often €0–€10).",
              "user_responsibility": "Go to the Service Population (or Bevolkingsdienst) of your commune of registered residence. Some communes operate by appointment only — check the commune's website first. Ask for the residence certificate with full address history and confirm it covers the entire period required by article 12bis (five or ten years).",
              "resumption": "Bring the certificate back and tell me you have it. If the commune only issues a short residence certificate without history, ask explicitly for the version 'avec historique' / 'met historiek'."
            }
          },
          "fallback_only": true,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Always-available fallback per the graceful-degradation requirement. No probe (offline)."
        }
      ],
      "related_skills": [
        "nationality-application"
      ],
      "last_verified": "2026-05-16"
    },
    "marriage-certificate-belgian": {
      "id": "marriage-certificate-belgian",
      "uid": "pth-00014",
      "title": {
        "fr": "Acte de mariage",
        "nl": "Akte van huwelijk",
        "en": "Marriage certificate (Belgian)",
        "de": "Heiratsurkunde"
      },
      "description": {
        "fr": "Acte de mariage délivré par l'officier de l'état civil belge (BAEC). Pour le 12bis §1, 3°, sert à établir le lien matrimonial avec un conjoint belge. Document fédéral accessible via plusieurs canaux.",
        "nl": "Huwelijksakte afgeleverd door de Belgische ambtenaar van de burgerlijke stand (BAEC). Voor 12bis §1, 3° dient hij om de huwelijksband met een Belgische echtgeno(o)t(e) aan te tonen. Federaal document, beschikbaar via verschillende kanalen.",
        "en": "Marriage certificate issued by the Belgian civil registrar (BAEC). Used under art. 12bis §1, 3° to establish the marital link with a Belgian spouse. Federal document accessible via multiple channels."
      },
      "themes": [
        "identity-civil-status",
        "family"
      ],
      "authority_id": "communes-collective",
      "schema_version": 1,
      "version": "0.1.0",
      "status": "alpha",
      "origin": "be-civic",
      "category": "belgium-federal-civil-status",
      "purpose": "submission",
      "applies_to": {
        "civil_status": [
          "married",
          "divorced",
          "widowed"
        ],
        "audience_summary": "12bis §1, 3° spouse-of-Belgian declarants whose marriage is registered in the Belgian BAEC"
      },
      "outputs": [
        {
          "name": "marriage_certificate",
          "type": "document_artefact"
        }
      ],
      "sources": [
        {
          "id": "irisbox-tier1-baec-marriage",
          "source_class": "brussels-tier1-quicklink",
          "audience": {
            "regions": [
              "brussels"
            ],
            "communes": [
              "all-19-rbc-communes"
            ],
            "predicates": [
              {
                "field": "user.region",
                "op": "eq",
                "value": "brussels"
              },
              {
                "field": "user.civic_status",
                "op": "in",
                "value": [
                  "married",
                  "divorced",
                  "widowed"
                ]
              }
            ]
          },
          "auth": {
            "method": "csam",
            "supported_providers": [
              "itsme",
              "eid",
              "mygov.be",
              "smart-id",
              "security-code",
              "eidas"
            ]
          },
          "procedure": {
            "kind": "deeplink-after-auth",
            "deeplink": "https://irisbox.irisnet.be/irisbox/quickLinks/origin/baec/type/MARRIAGE_CERTIFICATE",
            "post_auth_behavior": "server-generates-pdf-streams-as-download",
            "expected_response_type": "application/pdf",
            "captcha": false,
            "delivery_mode": "sync-pdf-download",
            "estimated_seconds": 30
          },
          "validation_path": {
            "kind": "agent-driven-headed-with-user-auth",
            "success_signals": [
              {
                "check": "response-content-type-includes",
                "value": "application/pdf"
              },
              {
                "check": "downloaded-bytes-start-with",
                "value": "%PDF"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "source-retired"
              },
              {
                "check": "page-text-contains",
                "value": "Service indisponible",
                "outcome": "source-temporarily-down"
              },
              {
                "check": "redirects-to",
                "value": "/irisbox/$",
                "outcome": "auth-rejected-or-deeplink-changed"
              }
            ],
            "user_confirms_required": false
          },
          "priority": 90,
          "actor": {
            "primary": "both",
            "handoff": {
              "when": "auth-wall",
              "agent_responsibility": "I'll send you to the Brussels Irisbox quicklink for the marriage certificate. The link asks Irisbox to generate your marriage act as a PDF as soon as you sign in.",
              "user_responsibility": "Sign in with itsme or your eID. Irisbox will generate your marriage act and download it. Save the PDF to your Be Civic folder.",
              "resumption": "Tell me 'got it' when the PDF has downloaded. I'll mark the marriage certificate as obtained and move on."
            }
          },
          "fallback_only": false,
          "preferred_auth_provider": "itsme",
          "audited_document_delivery": true,
          "post_handoff_observed": false,
          "notes": "Audited Tier-1; not probed per §24.9 invariant 3. URL pattern from quicklinks-baec.json (MARRIAGE_CERTIFICATE)."
        },
        {
          "id": "justonweb-civil-records-extracts",
          "source_class": "federal-auth-handoff",
          "audience": {
            "regions": [
              "federal"
            ],
            "predicates": [
              {
                "field": "user.document_inventory.has_eID",
                "op": "eq",
                "value": true
              },
              {
                "field": "user.civic_status",
                "op": "in",
                "value": [
                  "married",
                  "divorced",
                  "widowed"
                ]
              }
            ]
          },
          "auth": {
            "method": "csam",
            "supported_providers": [
              "itsme",
              "eid",
              "mygov.be",
              "smart-id"
            ]
          },
          "procedure": {
            "kind": "deeplink-to-auth-wall",
            "url": "https://justonweb.be/fr/extracts/civil-records",
            "delivery_mode": "user-driven-after-auth"
          },
          "validation_path": {
            "kind": "agent-reaches-auth-wall-only",
            "success_signals": [
              {
                "check": "deeplink-reaches-auth-wall",
                "value": true
              },
              {
                "check": "redirect-chain-matches-pattern",
                "value": "^https://justonweb\\.be/.*"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "404"
              },
              {
                "check": "redirects-to",
                "value": "unrelated-page",
                "outcome": "redirect-to-unrelated-page"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 60,
          "actor": {
            "primary": "user",
            "handoff": {
              "when": "full-takeover",
              "agent_responsibility": "I'll point you to Just-on-Web's civil-records extracts surface — the federal equivalent of Brussels Irisbox for non-Brussels residents. Sign in with CSAM, pick 'Acte de mariage' / 'Huwelijksakte', and download the PDF.",
              "user_responsibility": "Authenticate via CSAM. Choose the marriage-certificate extract; the portal will deliver a PDF. Save it to your Be Civic folder.",
              "resumption": "Tell me you have the PDF. If Just-on-Web does not list the certificate (it sometimes happens for older marriages), the offline route at your commune of marriage is the fallback."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Federal channel covering residents outside Brussels. URL listed in federal-catalog.json (justonweb-extracts)."
        },
        {
          "id": "wallonia-acte-etat-civil-page",
          "source_class": "wallonia-sitemap-page",
          "audience": {
            "regions": [
              "wallonia"
            ],
            "predicates": [
              {
                "field": "user.region",
                "op": "eq",
                "value": "wallonia"
              },
              {
                "field": "user.civic_status",
                "op": "in",
                "value": [
                  "married",
                  "divorced",
                  "widowed"
                ]
              }
            ]
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "sitemap-page-fetch",
            "url": "https://www.wallonie.be/fr/demarches/demander-un-extraitcopie-dun-acte-detat-civil",
            "delivery_mode": "informational-routing"
          },
          "validation_path": {
            "kind": "agent-driven-headless",
            "success_signals": [
              {
                "check": "sitemap-contains-path",
                "value": "/fr/demarches/demander-un-extraitcopie-dun-acte-detat-civil"
              },
              {
                "check": "page-loads-200",
                "value": 200
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "source-retired"
              },
              {
                "check": "sitemap-entry-missing",
                "value": "demarches/demander-un-extraitcopie-dun-acte-detat-civil",
                "outcome": "sitemap-entry-removed"
              }
            ],
            "user_confirms_required": false
          },
          "priority": 65,
          "actor": {
            "primary": "agent",
            "handoff": {
              "when": "none",
              "agent_responsibility": "I'll read the Wallonia civil-status extracts page to confirm the commune-routing instructions and quote them back to you.",
              "user_responsibility": "None — the agent handles this source fully with no customer action required.",
              "resumption": "After reading the page I'll recommend the federal Just-on-Web handoff next, or the offline commune visit if neither works."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Probed 2026-05-12: HTTP 200, title 'Demander un extrait/copie d'un acte d'état civil' matched. Wallonia page routes citizens to commune of marriage."
        },
        {
          "id": "offline-commune-etat-civil",
          "source_class": "offline",
          "audience": {
            "regions": [
              "brussels",
              "wallonia",
              "flanders",
              "federal"
            ],
            "predicates": [
              {
                "field": "user.civic_status",
                "op": "in",
                "value": [
                  "married",
                  "divorced",
                  "widowed"
                ]
              }
            ]
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "commune-visit",
            "desk": "Service État civil / Dienst Burgerlijke Stand",
            "delivery_mode": "in-person-or-postal"
          },
          "validation_path": {
            "kind": "user-confirms",
            "success_signals": [
              {
                "check": "user-confirms-document-received",
                "value": true
              }
            ],
            "failure_signals": [
              {
                "check": "user-reports-document-refused",
                "value": "commune of marriage refused or has no record",
                "outcome": "source-refused"
              },
              {
                "check": "commune-says-elsewhere",
                "value": "use federal Just-on-Web",
                "outcome": "commune-redirected-elsewhere"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 10,
          "actor": {
            "primary": "user",
            "handoff": {
              "when": "physical-presence",
              "agent_responsibility": "I'll prepare what you need to ask for: an extract or copy of your acte de mariage from the commune where the marriage was registered (the lieu de mariage, not necessarily your commune of residence). Bring your eID; small fee (often €0–€10).",
              "user_responsibility": "Go to the Service État civil (or Dienst Burgerlijke Stand) of the commune where your marriage was registered. Ask for an 'extrait' or 'copie intégrale' of the acte de mariage. Some communes accept postal or email requests — check first.",
              "resumption": "Bring the document back and confirm receipt. If the marriage was registered abroad and is not in the Belgian BAEC, the certification-of-foreign-documents flow applies instead — flag this and I'll route you to the apostille / consular-legalisation sub-skills."
            }
          },
          "fallback_only": true,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Always-available fallback per graceful-degradation. Note: Belgian marriages from abroad may not be in BAEC; foreign-document certification flow applies in that case."
        }
      ],
      "related_skills": [
        "nationality-application"
      ],
      "last_verified": "2026-05-12"
    },
    "composition-de-menage-belgian": {
      "id": "composition-de-menage-belgian",
      "uid": "pth-00006",
      "title": {
        "fr": "Certificat de composition de ménage",
        "nl": "Attest van gezinssamenstelling",
        "en": "Certificate of household composition",
        "de": "Wohnsitzbescheinigung — Haushaltszusammensetzung"
      },
      "description": {
        "fr": "Attestation extraite du registre national listant les personnes inscrites à la même adresse. Pour le 12bis §1, 3°, sert à prouver la cohabitation de trois ans avec le conjoint belge.",
        "nl": "Attest uit het rijksregister met de personen die op hetzelfde adres zijn ingeschreven. Voor 12bis §1, 3° dient het om de drie jaar samenwoning met de Belgische echtgeno(o)t(e) aan te tonen.",
        "en": "Population-register attestation listing the people registered at the same address. Used under art. 12bis §1, 3° to evidence three years of cohabitation with the Belgian spouse."
      },
      "themes": [
        "identity-civil-status",
        "family"
      ],
      "authority_id": "communes-collective",
      "schema_version": 1,
      "version": "0.1.0",
      "status": "alpha",
      "origin": "be-civic",
      "category": "belgium-federal-civil-status",
      "purpose": "submission",
      "applies_to": {
        "audience_summary": "12bis §1, 3° spouse-of-Belgian declarants demonstrating cohabitation with the Belgian spouse"
      },
      "outputs": [
        {
          "name": "household_composition_certificate",
          "type": "document_artefact"
        }
      ],
      "sources": [
        {
          "id": "irisbox-tier1-rn-42",
          "source_class": "brussels-tier1-quicklink",
          "audience": {
            "regions": [
              "brussels"
            ],
            "communes": [
              "all-19-rbc-communes"
            ],
            "predicates": [
              {
                "field": "user.region",
                "op": "eq",
                "value": "brussels"
              }
            ]
          },
          "auth": {
            "method": "csam",
            "supported_providers": [
              "itsme",
              "eid",
              "mygov.be",
              "smart-id",
              "security-code",
              "eidas"
            ]
          },
          "procedure": {
            "kind": "deeplink-after-auth",
            "deeplink": "https://irisbox.irisnet.be/irisbox/quickLinks/origin/rn/type/42",
            "post_auth_behavior": "server-generates-pdf-streams-as-download",
            "expected_response_type": "application/pdf",
            "captcha": false,
            "delivery_mode": "sync-pdf-download",
            "estimated_seconds": 30
          },
          "validation_path": {
            "kind": "agent-driven-headed-with-user-auth",
            "success_signals": [
              {
                "check": "response-content-type-includes",
                "value": "application/pdf"
              },
              {
                "check": "downloaded-bytes-start-with",
                "value": "%PDF"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "source-retired"
              },
              {
                "check": "page-text-contains",
                "value": "Service indisponible",
                "outcome": "source-temporarily-down"
              },
              {
                "check": "redirects-to",
                "value": "/irisbox/$",
                "outcome": "auth-rejected-or-deeplink-changed"
              }
            ],
            "user_confirms_required": false
          },
          "priority": 90,
          "actor": {
            "primary": "both",
            "handoff": {
              "when": "auth-wall",
              "agent_responsibility": "I'll send you to the Brussels Irisbox quicklink for the household-composition certificate. Once you sign in, Irisbox generates the PDF and downloads it.",
              "user_responsibility": "Sign in with itsme or your eID. Save the PDF to your Be Civic folder.",
              "resumption": "Tell me 'got it' once the PDF has downloaded."
            }
          },
          "fallback_only": false,
          "preferred_auth_provider": "itsme",
          "audited_document_delivery": true,
          "post_handoff_observed": false,
          "notes": "Audited Tier-1; not probed per §24.9 invariant 3. URL from quicklinks-rn.json (type 42 = Composition de ménage)."
        },
        {
          "id": "wallonia-population-register-page",
          "source_class": "wallonia-sitemap-page",
          "audience": {
            "regions": [
              "wallonia"
            ],
            "predicates": [
              {
                "field": "user.region",
                "op": "eq",
                "value": "wallonia"
              }
            ]
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "sitemap-page-fetch",
            "url": "https://www.wallonie.be/fr/demarches/obtenir-un-certificat-des-registres-de-population-domicile-composition-de-menage-nationalite-vie",
            "delivery_mode": "informational-routing"
          },
          "validation_path": {
            "kind": "agent-driven-headless",
            "success_signals": [
              {
                "check": "sitemap-contains-path",
                "value": "/fr/demarches/obtenir-un-certificat-des-registres-de-population-domicile-composition-de-menage-nationalite-vie"
              },
              {
                "check": "page-loads-200",
                "value": 200
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "source-retired"
              },
              {
                "check": "sitemap-entry-missing",
                "value": "demarches/obtenir-un-certificat-des-registres-de-population",
                "outcome": "sitemap-entry-removed"
              }
            ],
            "user_confirms_required": false
          },
          "priority": 65,
          "actor": {
            "primary": "agent",
            "handoff": {
              "when": "none",
              "agent_responsibility": "I'll read the Wallonia commune-routing page that covers household composition along with residence and nationality certificates.",
              "user_responsibility": "None — the agent handles this source fully with no customer action required.",
              "resumption": "I'll quote the routing back to you and recommend the federal handoff or the commune visit next."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Probed 2026-05-12: HTTP 200, page explicitly lists 'composition de ménage' in title and description."
        },
        {
          "id": "my-belgium-rrn-handoff",
          "source_class": "federal-auth-handoff",
          "audience": {
            "regions": [
              "federal"
            ],
            "predicates": [
              {
                "field": "user.document_inventory.has_eID",
                "op": "eq",
                "value": true
              }
            ]
          },
          "auth": {
            "method": "csam",
            "supported_providers": [
              "itsme",
              "eid",
              "mygov.be",
              "smart-id",
              "security-code"
            ]
          },
          "procedure": {
            "kind": "deeplink-to-auth-wall",
            "url": "https://my.belgium.be/",
            "delivery_mode": "user-driven-after-auth"
          },
          "validation_path": {
            "kind": "agent-reaches-auth-wall-only",
            "success_signals": [
              {
                "check": "deeplink-reaches-auth-wall",
                "value": true
              },
              {
                "check": "redirect-chain-matches-pattern",
                "value": "^https://my\\.belgium\\.be/.*"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "404"
              },
              {
                "check": "redirects-to",
                "value": "unrelated-page",
                "outcome": "redirect-to-unrelated-page"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 60,
          "actor": {
            "primary": "user",
            "handoff": {
              "when": "full-takeover",
              "agent_responsibility": "I'll point you to my.belgium.be. Sign in with CSAM, open 'Registre national / Rijksregister', and request the household-composition certificate.",
              "user_responsibility": "Authenticate via CSAM. Download the PDF and save it to your Be Civic folder.",
              "resumption": "Tell me when you have the PDF. If the federal portal does not surface household composition, the offline commune route is the fallback."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Probed 2026-05-12: HTTP 200 (assumed), my.belgium.be confirmed as Rijksregister 'Mon dossier' surface."
        },
        {
          "id": "offline-commune-service-population",
          "source_class": "offline",
          "audience": {
            "regions": [
              "brussels",
              "wallonia",
              "flanders",
              "federal"
            ],
            "predicates": [
              {
                "field": "user.commune_nis5",
                "op": "exists",
                "value": true
              }
            ]
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "commune-visit",
            "desk": "Service Population / Bevolkingsdienst",
            "delivery_mode": "in-person-or-postal"
          },
          "validation_path": {
            "kind": "user-confirms",
            "success_signals": [
              {
                "check": "user-confirms-document-received",
                "value": true
              }
            ],
            "failure_signals": [
              {
                "check": "user-reports-document-refused",
                "value": "commune refused the request",
                "outcome": "source-refused"
              },
              {
                "check": "commune-says-elsewhere",
                "value": "use federal portal",
                "outcome": "commune-redirected-elsewhere"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 10,
          "actor": {
            "primary": "user",
            "handoff": {
              "when": "physical-presence",
              "agent_responsibility": "I'll prepare what to ask for: a 'certificat de composition de ménage' (FR) / 'attest van gezinssamenstelling' (NL) covering the same period as your residence-history certificate. Bring your eID.",
              "user_responsibility": "Go to the Service Population of your commune of registered residence. Ask for the composition de ménage covering the relevant period (the three-year cohabitation window for 12bis §1, 3°). Some communes accept postal requests.",
              "resumption": "Bring the document and confirm receipt. If the commune issues it dated as of today only (no historical view), ask for the historical version."
            }
          },
          "fallback_only": true,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Always-available fallback."
        }
      ],
      "related_skills": [
        "nationality-application"
      ],
      "last_verified": "2026-05-12"
    },
    "birth-certificate-belgian": {
      "id": "birth-certificate-belgian",
      "uid": "pth-00003",
      "title": {
        "fr": "Acte de naissance (Belgique)",
        "nl": "Akte van geboorte (België)",
        "en": "Birth certificate (Belgian)",
        "de": "Geburtsurkunde (Belgien)"
      },
      "description": {
        "fr": "Acte de naissance délivré par la commune belge de naissance (BAEC). Pour le 12bis §1, 1° (né en Belgique) ou §1, 3° (parent path : acte de naissance de l'enfant belge mineur). Document fédéral, plusieurs canaux.",
        "nl": "Geboorteakte afgeleverd door de Belgische geboortegemeente (BAEC). Voor 12bis §1, 1° (in België geboren) of §1, 3° (ouder-pad: geboorteakte van het Belgische minderjarige kind). Federaal document, meerdere kanalen.",
        "en": "Birth certificate issued by the Belgian commune of birth (BAEC). Used under art. 12bis §1, 1° (born in Belgium) or §1, 3° (parent path: minor Belgian child's birth certificate). Federal document, multiple channels."
      },
      "themes": [
        "identity-civil-status",
        "family"
      ],
      "authority_id": "communes-collective",
      "schema_version": 1,
      "version": "0.1.0",
      "status": "alpha",
      "origin": "be-civic",
      "category": "belgium-federal-civil-status",
      "purpose": "submission",
      "applies_to": {
        "audience_summary": "12bis §1, 1° declarants (born in Belgium) and §1, 3° parent-of-Belgian-child declarants; for foreign birth certificates use the apostille / consular-legalisation route instead"
      },
      "outputs": [
        {
          "name": "birth_certificate",
          "type": "document_artefact"
        }
      ],
      "sources": [
        {
          "id": "irisbox-tier1-baec-birth",
          "source_class": "brussels-tier1-quicklink",
          "audience": {
            "regions": [
              "brussels"
            ],
            "predicates": [
              {
                "field": "user.region",
                "op": "eq",
                "value": "brussels"
              }
            ]
          },
          "auth": {
            "method": "csam",
            "supported_providers": [
              "itsme",
              "eid",
              "mygov.be",
              "smart-id",
              "security-code",
              "eidas"
            ]
          },
          "procedure": {
            "kind": "deeplink-after-auth",
            "deeplink": "https://irisbox.irisnet.be/irisbox/quickLinks/origin/baec/type/BIRTH_CERTIFICATE",
            "post_auth_behavior": "server-generates-pdf-streams-as-download",
            "expected_response_type": "application/pdf",
            "captcha": false,
            "delivery_mode": "sync-pdf-download",
            "estimated_seconds": 30
          },
          "validation_path": {
            "kind": "agent-driven-headed-with-user-auth",
            "success_signals": [
              {
                "check": "response-content-type-includes",
                "value": "application/pdf"
              },
              {
                "check": "downloaded-bytes-start-with",
                "value": "%PDF"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "source-retired"
              },
              {
                "check": "page-text-contains",
                "value": "Service indisponible",
                "outcome": "source-temporarily-down"
              },
              {
                "check": "redirects-to",
                "value": "/irisbox/$",
                "outcome": "auth-rejected-or-deeplink-changed"
              }
            ],
            "user_confirms_required": false
          },
          "priority": 90,
          "actor": {
            "primary": "both",
            "handoff": {
              "when": "auth-wall",
              "agent_responsibility": "I'll send you to the Brussels Irisbox quicklink for the birth certificate. Once you sign in, Irisbox generates the PDF and downloads it.",
              "user_responsibility": "Sign in with itsme or your eID. Save the PDF.",
              "resumption": "Tell me 'got it' when downloaded. If this is for your minor Belgian child under the 12bis §1, 3° parent path, request the child's birth certificate using the child's eID profile (or via a parental delegation, depending on commune practice)."
            }
          },
          "fallback_only": false,
          "preferred_auth_provider": "itsme",
          "audited_document_delivery": true,
          "post_handoff_observed": false,
          "notes": "Audited Tier-1; not probed per §24.9 invariant 3. URL from quicklinks-baec.json (BIRTH_CERTIFICATE)."
        },
        {
          "id": "justonweb-civil-records-extracts",
          "source_class": "federal-auth-handoff",
          "audience": {
            "regions": [
              "federal"
            ],
            "predicates": [
              {
                "field": "user.document_inventory.has_eID",
                "op": "eq",
                "value": true
              }
            ]
          },
          "auth": {
            "method": "csam",
            "supported_providers": [
              "itsme",
              "eid",
              "mygov.be",
              "smart-id"
            ]
          },
          "procedure": {
            "kind": "deeplink-to-auth-wall",
            "url": "https://justonweb.be/fr/extracts/civil-records",
            "delivery_mode": "user-driven-after-auth"
          },
          "validation_path": {
            "kind": "agent-reaches-auth-wall-only",
            "success_signals": [
              {
                "check": "deeplink-reaches-auth-wall",
                "value": true
              },
              {
                "check": "redirect-chain-matches-pattern",
                "value": "^https://justonweb\\.be/.*"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "404"
              },
              {
                "check": "redirects-to",
                "value": "unrelated-page",
                "outcome": "redirect-to-unrelated-page"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 60,
          "actor": {
            "primary": "user",
            "handoff": {
              "when": "full-takeover",
              "agent_responsibility": "I'll send you to Just-on-Web's civil-records extracts surface. After CSAM sign-in, pick 'Acte de naissance' / 'Geboorteakte' and download the PDF.",
              "user_responsibility": "Authenticate via CSAM and download the PDF.",
              "resumption": "Tell me when you have the PDF. If the certificate is not present (older or non-digitised birth), the offline commune-of-birth route is the fallback."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Federal channel for non-Brussels residents."
        },
        {
          "id": "wallonia-acte-etat-civil-page",
          "source_class": "wallonia-sitemap-page",
          "audience": {
            "regions": [
              "wallonia"
            ],
            "predicates": [
              {
                "field": "user.region",
                "op": "eq",
                "value": "wallonia"
              }
            ]
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "sitemap-page-fetch",
            "url": "https://www.wallonie.be/fr/demarches/demander-un-extraitcopie-dun-acte-detat-civil",
            "delivery_mode": "informational-routing"
          },
          "validation_path": {
            "kind": "agent-driven-headless",
            "success_signals": [
              {
                "check": "sitemap-contains-path",
                "value": "/fr/demarches/demander-un-extraitcopie-dun-acte-detat-civil"
              },
              {
                "check": "page-loads-200",
                "value": 200
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "source-retired"
              },
              {
                "check": "sitemap-entry-missing",
                "value": "demarches/demander-un-extraitcopie-dun-acte-detat-civil",
                "outcome": "sitemap-entry-removed"
              }
            ],
            "user_confirms_required": false
          },
          "priority": 65,
          "actor": {
            "primary": "agent",
            "handoff": {
              "when": "none",
              "agent_responsibility": "I'll read the Wallonia civil-status extracts page and quote the commune-routing back to you.",
              "user_responsibility": "None — the agent handles this source fully with no customer action required.",
              "resumption": "I'll recommend the federal Just-on-Web handoff next, or the commune visit if both fail."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Probed 2026-05-12: HTTP 200, page title 'Demander un extrait/copie d'un acte d'état civil' matched. Covers birth, marriage, and death extracts uniformly."
        },
        {
          "id": "offline-commune-of-birth-etat-civil",
          "source_class": "offline",
          "audience": {
            "regions": [
              "brussels",
              "wallonia",
              "flanders",
              "federal"
            ],
            "predicates": [
              {
                "field": "user.commune_nis5",
                "op": "exists",
                "value": true
              }
            ]
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "commune-visit",
            "desk": "Service État civil / Dienst Burgerlijke Stand",
            "delivery_mode": "in-person-or-postal"
          },
          "validation_path": {
            "kind": "user-confirms",
            "success_signals": [
              {
                "check": "user-confirms-document-received",
                "value": true
              }
            ],
            "failure_signals": [
              {
                "check": "user-reports-document-refused",
                "value": "commune of birth refused or has no record",
                "outcome": "source-refused"
              },
              {
                "check": "commune-says-elsewhere",
                "value": "use federal Just-on-Web",
                "outcome": "commune-redirected-elsewhere"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 10,
          "actor": {
            "primary": "user",
            "handoff": {
              "when": "physical-presence",
              "agent_responsibility": "I'll prepare what to ask for: an 'extrait' or 'copie intégrale' of your acte de naissance from the commune of birth (or, for the parent path, of your minor Belgian child's). Bring your eID; small fee (often €0–€10).",
              "user_responsibility": "Go to the Service État civil (or Dienst Burgerlijke Stand) of the commune of birth. Postal requests are accepted by many communes — check first.",
              "resumption": "Bring the document and confirm receipt. If the birth was registered abroad, this path does not apply — use the foreign-document certification flow instead."
            }
          },
          "fallback_only": true,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Always-available fallback."
        }
      ],
      "related_skills": [
        "nationality-application"
      ],
      "last_verified": "2026-05-12"
    },
    "id-card-residence-permit-copy-certified": {
      "id": "id-card-residence-permit-copy-certified",
      "uid": "pth-00013",
      "title": {
        "fr": "Copie certifiée conforme de la carte d'identité ou du titre de séjour",
        "nl": "Voor eensluidend verklaard afschrift van de identiteitskaart of verblijfstitel",
        "en": "Certified-conforme copy of the ID card or residence permit",
        "de": "Beglaubigte Kopie des Personalausweises oder Aufenthaltstitels"
      },
      "description": {
        "fr": "Photocopie recto-verso de la carte d'identité belge ou du titre de séjour (carte A, B, C, F, F+, K, L, …), certifiée conforme par la commune. Document du dossier 12bis.",
        "nl": "Recto-verso fotokopie van de Belgische identiteitskaart of verblijfstitel (kaart A, B, C, F, F+, K, L, …), voor eensluidend verklaard door de gemeente. Onderdeel van het 12bis-dossier.",
        "en": "Front-and-back photocopy of the Belgian ID card or residence permit (carte A, B, C, F, F+, K, L, …), certified conforme by the commune. Part of the 12bis dossier."
      },
      "themes": [
        "identity-civil-status",
        "residency-and-immigration"
      ],
      "authority_id": "communes-collective",
      "schema_version": 1,
      "version": "0.1.0",
      "status": "alpha",
      "origin": "be-civic",
      "category": "belgium-commune",
      "purpose": "submission",
      "applies_to": {
        "audience_summary": "every 12bis declarant, regardless of sub-category"
      },
      "outputs": [
        {
          "name": "id_residence_permit_certified_copy",
          "type": "document_artefact"
        }
      ],
      "sources": [
        {
          "id": "my-belgium-id-info-handoff",
          "source_class": "federal-auth-handoff",
          "audience": {
            "regions": [
              "federal"
            ],
            "predicates": [
              {
                "field": "user.document_inventory.has_eID",
                "op": "eq",
                "value": true
              }
            ]
          },
          "auth": {
            "method": "csam",
            "supported_providers": [
              "itsme",
              "eid",
              "mygov.be",
              "smart-id"
            ]
          },
          "procedure": {
            "kind": "deeplink-to-auth-wall",
            "url": "https://my.belgium.be/",
            "delivery_mode": "user-driven-after-auth"
          },
          "validation_path": {
            "kind": "agent-reaches-auth-wall-only",
            "success_signals": [
              {
                "check": "deeplink-reaches-auth-wall",
                "value": true
              },
              {
                "check": "redirect-chain-matches-pattern",
                "value": "^https://my\\.belgium\\.be/.*"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "404"
              },
              {
                "check": "redirects-to",
                "value": "unrelated-page",
                "outcome": "redirect-to-unrelated-page"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 40,
          "actor": {
            "primary": "user",
            "handoff": {
              "when": "full-takeover",
              "agent_responsibility": "my.belgium.be shows your ID-card data and validity, but it does NOT deliver a certified-conforme paper copy — that has to be issued by the commune. Use my.belgium.be only to confirm the data on your card before printing your own photocopy to bring to the commune.",
              "user_responsibility": "Sign in to my.belgium.be and confirm your ID-card or residence-permit details are current. Make a clean recto-verso photocopy (or print the data screen if your card is in renewal). Bring the photocopy to the commune for certification.",
              "resumption": "Tell me when you have the photocopy ready; the certification itself happens at the commune (offline source below)."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Probed 2026-05-12: my.belgium.be live; CSAM-gated. This is a pre-step, not a delivery channel — the certified copy itself only exists offline."
        },
        {
          "id": "offline-commune-certification-desk",
          "source_class": "offline",
          "audience": {
            "regions": [
              "brussels",
              "wallonia",
              "flanders",
              "federal"
            ],
            "predicates": [
              {
                "field": "user.commune_nis5",
                "op": "exists",
                "value": true
              }
            ]
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "commune-visit",
            "desk": "Service Population / Bevolkingsdienst — guichet certification",
            "delivery_mode": "in-person"
          },
          "validation_path": {
            "kind": "user-confirms",
            "success_signals": [
              {
                "check": "user-confirms-document-received",
                "value": true
              }
            ],
            "failure_signals": [
              {
                "check": "user-reports-document-refused",
                "value": "commune refused the certification",
                "outcome": "source-refused"
              },
              {
                "check": "commune-says-elsewhere",
                "value": "use a notaire or police",
                "outcome": "commune-redirected-elsewhere"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 10,
          "actor": {
            "primary": "user",
            "handoff": {
              "when": "physical-presence",
              "agent_responsibility": "I'll prepare what to ask for: a 'copie certifiée conforme' / 'voor eensluidend verklaard afschrift' of your ID card or residence permit. Bring the original and a clean recto-verso photocopy. The commune stamps and signs the photocopy.",
              "user_responsibility": "Go to the Service Population of your commune. Ask the desk to certify the photocopy 'conforme à l'original'. Small fee (often €0–€5). Many communes do this on the spot at the population desk; some require a separate certification guichet.",
              "resumption": "Bring the certified copy back and confirm receipt."
            }
          },
          "fallback_only": true,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Only delivery channel for this artefact — physical stamp required. No Tier-1, no Wallonia sitemap, no Flanders API equivalent. Brussels-only note recorded; non-Brussels users go through the same commune-desk pathway."
        }
      ],
      "related_skills": [
        "nationality-application"
      ],
      "last_verified": "2026-05-12"
    },
    "myminfin-mes-documents": {
      "id": "myminfin-mes-documents",
      "uid": "pth-00017",
      "title": {
        "fr": "Mes documents — MyMinfin (SPF Finances)",
        "nl": "Mijn documenten — MyMinfin (FOD Financiën)",
        "en": "My documents — MyMinfin (FPS Finance)",
        "de": "Meine Dokumente — MyMinfin (FÖD Finanzen)"
      },
      "description": {
        "fr": "Hub documentaire dans MyMinfin où le SPF Finances agrège : preuves de paiement (dont 'Preuve de paiement demande de nationalité'), Fiche 281.10 — Rémunérations (certification annuelle de revenus émise par l'employeur), avertissements-extrait de rôle (impôts), déclarations Tax-on-web, sommations, rappels de paiement. Les compétences qui consomment ce chemin filtrent par nom de fichier, type ou plage de dates. Distinct de e-Box Citizen (myebox.be) qui agrège transversalement les services fédéraux.",
        "nl": "Documenthub binnen MyMinfin waar de FOD Financiën aggregaten plaatst: betalingsbewijzen (waaronder 'Preuve de paiement demande de nationalité'), Fiche 281.10 — Rémunérations (jaarlijkse loonsbevestiging door werkgever), aanslagbiljetten (Avertissement-extrait de rôle), Tax-on-web-aangiften, aanmaningen, betalingsherinneringen. Roepende skills filteren op bestandsnaam, type of datumrange. Onderscheidend van e-Box Citizen (myebox.be) dat over de federale diensten heen aggregateert.",
        "en": "Document hub inside MyMinfin where SPF Finances aggregates: payment receipts (including 'Preuve de paiement demande de nationalité' for nationality declarations), Fiche 281.10 — Rémunérations (annual employer-issued income certification), tax assessments (Avertissement-extrait de rôle), Tax-on-web declarations, payment reminders, sommations. Calling skills filter by filename, type, or date range. Distinct from e-Box Citizen (myebox.be) which aggregates documents across federal services.",
        "de": "Dokumentenhub innerhalb von MyMinfin, wo der FÖD Finanzen aggregiert: Zahlungsbestätigungen (einschließlich 'Preuve de paiement demande de nationalité' für Nationalitätsanträge), Fiche 281.10 — Rémunérations (jährliche Einkommensbestätigung durch den Arbeitgeber), Steuerveranlagungen, Tax-on-web-Erklärungen, Zahlungserinnerungen, Mahnungen. Aufrufende Skills filtern nach Dateinamen, Typ oder Datumsbereich. Unterschieden von e-Box Citizen (myebox.be), das über föderale Dienste hinweg aggregiert."
      },
      "themes": [
        "taxation-and-finance",
        "identity-civil-status"
      ],
      "authority_id": "myminfin",
      "schema_version": 1,
      "version": "0.1.1",
      "status": "alpha",
      "origin": "be-civic",
      "category": "belgium-federal-civil-status",
      "purpose": "informational",
      "applies_to": {
        "audience_summary": "anyone with CSAM access to MyMinfin who needs an SPF-Finances-issued document — nationality-fee receipts, Fiche 281.10 income certifications, tax assessments, Tax-on-web declarations"
      },
      "outputs": [
        {
          "name": "registration_fee_receipt",
          "type": "document_artefact"
        },
        {
          "name": "fiche_281_10_remunerations",
          "type": "document_artefact"
        },
        {
          "name": "tax_assessment",
          "type": "document_artefact"
        },
        {
          "name": "tax_on_web_declaration",
          "type": "document_artefact"
        }
      ],
      "sources": [
        {
          "id": "myminfin-mes-documents-handoff",
          "source_class": "federal-auth-handoff",
          "audience": {
            "regions": [
              "federal"
            ],
            "predicates": [
              {
                "field": "user.document_inventory.has_eID",
                "op": "eq",
                "value": true
              }
            ]
          },
          "auth": {
            "method": "csam",
            "supported_providers": [
              "itsme",
              "eid",
              "mygov.be",
              "smart-id"
            ]
          },
          "procedure": {
            "kind": "deeplink-to-auth-wall",
            "url": "https://www.myminfin.be/",
            "delivery_mode": "user-driven-after-auth"
          },
          "validation_path": {
            "kind": "agent-reaches-auth-wall-only",
            "success_signals": [
              {
                "check": "deeplink-reaches-auth-wall",
                "value": true
              },
              {
                "check": "redirect-chain-matches-pattern",
                "value": "^https://(www\\.)?myminfin\\.be/.*"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "404"
              },
              {
                "check": "redirects-to",
                "value": "unrelated-page",
                "outcome": "redirect-to-unrelated-page"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 90,
          "actor": {
            "primary": "both",
            "handoff": {
              "when": "auth-wall",
              "agent_responsibility": "I'll send you to MyMinfin. After you sign in with CSAM I'll take over: navigate to the 'Mes documents' tab and apply the filter (by filename, document type, or date range) for the document you need — the calling procedure tells me which one. I'll confirm the download. If after CSAM the deeplink redirects to the MyMinfin landing page instead of resuming, re-click the original deeplink — MyMinfin then resumes correctly (same pattern as Irisbox and mycareer.be).",
              "user_responsibility": "Sign in with itsme or your eID at the CSAM wall. After sign-in tell me you're in; I'll handle the navigation and the filter.",
              "resumption": "Tell me 'signed in' once CSAM is complete. I'll navigate to Mes documents, apply the filter for the document we need, and confirm the download."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Live-verified 2026-05-16. Mes documents hosts SPF Finances documents across procedures: nationality-fee receipts ('Preuve de paiement demande de nationalité'), Fiche 281.10 — Rémunérations, avertissements-extrait de rôle, Tax-on-web declarations. Mes paiements (sibling tab) shows the payment record (reference, amount, 'Paiement effectué' banner) but does NOT host the receipt PDF — Mes documents is the right surface for the actual PDF."
        },
        {
          "id": "offline-spf-finances-counter",
          "source_class": "offline",
          "audience": {
            "regions": [
              "brussels",
              "wallonia",
              "flanders",
              "federal"
            ],
            "predicates": [
              {
                "field": "user.commune_nis5",
                "op": "exists",
                "value": true
              }
            ]
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "commune-visit",
            "desk": "SPF Finances — guichet documents (Centre d'expertise / Expertisecentrum)",
            "delivery_mode": "in-person-or-postal"
          },
          "validation_path": {
            "kind": "user-confirms",
            "success_signals": [
              {
                "check": "user-confirms-document-received",
                "value": true
              }
            ],
            "failure_signals": [
              {
                "check": "user-reports-document-refused",
                "value": "SPF Finances counter did not produce the document",
                "outcome": "source-refused"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 10,
          "actor": {
            "primary": "user",
            "handoff": {
              "when": "physical-presence",
              "agent_responsibility": "I'll prepare what to ask for at the SPF Finances counter — the specific document name (e.g. 'Preuve de paiement demande de nationalité', 'Fiche 281.10 - Rémunérations 20XX', or 'avertissement-extrait de rôle exercice d'imposition 20XX'). Bring your eID.",
              "user_responsibility": "Go to the SPF Finances counter competent for your residence. Ask for the named document; the desk can print or post a copy.",
              "resumption": "Bring back or upload the document and confirm receipt."
            }
          },
          "fallback_only": true,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Always-available fallback for users without CSAM or when MyMinfin Mes documents is unavailable. The same document hub is also reachable by direct contact with SPF Finances."
        }
      ],
      "related_skills": [
        "nationality-application"
      ],
      "last_verified": "2026-05-16"
    },
    "employment-account-individual": {
      "id": "employment-account-individual",
      "uid": "pth-00009",
      "title": {
        "fr": "Compte individuel de carrière (Sigedis / mycareer.be)",
        "nl": "Individuele loopbaanrekening (Sigedis / mycareer.be)",
        "en": "Individual career account (Sigedis / mycareer.be)",
        "de": "Individuelles Erwerbskonto (Sigedis / mycareer.be)"
      },
      "description": {
        "fr": "Relevé fédéral des jours travaillés (employé) ou des trimestres de cotisations (indépendant), administré par Sigedis et téléchargeable via mycareer.be. Pour le 12bis §1, 2° : preuve des 468 jours ouvrés (ou des 6 trimestres indépendants) sur les 5 ans. mycareer.be est la surface Sigedis qui héberge le PDF officiel signé du compte individuel ; mypension.be est une surface de projection de pension distincte (fallback).",
        "nl": "Federaal overzicht van gewerkte dagen (werknemer) of betaalde kwartalen (zelfstandige), beheerd door Sigedis en downloadbaar via mycareer.be. Voor 12bis §1, 2°: bewijs van 468 gewerkte dagen (of 6 zelfstandige kwartalen) over 5 jaar. mycareer.be is de Sigedis-surface met het officieel ondertekende PDF; mypension.be is een aparte pensioenprojectie-surface (fallback).",
        "en": "Federal record of working days (employee) or self-employed quarters of contributions, administered by Sigedis and downloadable via mycareer.be. Under art. 12bis §1, 2° this evidences the 468 working days (employee path) or 6 quarters of self-employed contributions over the 5-year window. mycareer.be is the Sigedis surface that hosts the signed official PDF; mypension.be is a separate pension-projection surface (fallback)."
      },
      "themes": [
        "work-and-self-employment",
        "social-protection-and-pensions"
      ],
      "authority_id": "bcss",
      "schema_version": 1,
      "version": "0.1.1",
      "status": "alpha",
      "origin": "be-civic",
      "category": "belgium-federal-civil-status",
      "purpose": "submission",
      "applies_to": {
        "audience_summary": "12bis §1, 2° declarants documenting economic participation (employee or self-employed); §1, 3° declarants needing the reduced 234-day employee evidence"
      },
      "outputs": [
        {
          "name": "individual_career_account_extract",
          "type": "document_artefact"
        }
      ],
      "sources": [
        {
          "id": "mycareer-individual-account-handoff",
          "source_class": "federal-auth-handoff",
          "audience": {
            "regions": [
              "federal"
            ],
            "predicates": [
              {
                "field": "user.document_inventory.has_eID",
                "op": "eq",
                "value": true
              }
            ]
          },
          "auth": {
            "method": "csam",
            "supported_providers": [
              "itsme",
              "eid",
              "mygov.be",
              "smart-id"
            ]
          },
          "procedure": {
            "kind": "deeplink-to-auth-wall",
            "url": "https://www.mycareer.be/",
            "delivery_mode": "user-driven-after-auth"
          },
          "validation_path": {
            "kind": "agent-reaches-auth-wall-only",
            "success_signals": [
              {
                "check": "deeplink-reaches-auth-wall",
                "value": true
              },
              {
                "check": "redirect-chain-matches-pattern",
                "value": "^https://(www\\.mycareer\\.be|mycareer\\.socialsecurity\\.be)/.*"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "404"
              },
              {
                "check": "redirects-to",
                "value": "unrelated-page",
                "outcome": "redirect-to-unrelated-page"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 90,
          "actor": {
            "primary": "both",
            "handoff": {
              "when": "auth-wall",
              "agent_responsibility": "I'll send you to mycareer.be. After you sign in with CSAM I'll take over: open 'Carrière en détail', click 'Tout afficher' to expand every year, then 'Exporter cet écran' to download the Sigedis-signed PDF. If after CSAM the deeplink redirects to the mycareer.be landing page, re-click the deeplink — same pattern as Irisbox and MyMinfin.",
              "user_responsibility": "Sign in with itsme or your eID at the CSAM wall. After sign-in tell me you're in; I'll handle the navigation, the year-expansion step, and the export.",
              "resumption": "Tell me 'signed in' once CSAM is complete. I'll continue from the dashboard, expand the years, run the export, and confirm the downloaded PDF covers the full 12bis window."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Live-verified 2026-05-16. mycareer.be is the Sigedis surface hosting the compte individuel PDF. 'Tout afficher → Exporter cet écran' is required — exporting without expanding captures only the current year. mypension.be is a separate pension-projection surface (mypension FAQ distinguishes the two). Unverified: 'permission denied on this domain' on mycareer.socialsecurity.be in 2026-05-16 session — do not encode as a quirk yet."
        },
        {
          "id": "mypension-career-fallback",
          "source_class": "federal-auth-handoff",
          "audience": {
            "regions": [
              "federal"
            ],
            "predicates": [
              {
                "field": "user.document_inventory.has_eID",
                "op": "eq",
                "value": true
              }
            ]
          },
          "auth": {
            "method": "csam",
            "supported_providers": [
              "itsme",
              "eid",
              "mygov.be",
              "smart-id"
            ]
          },
          "procedure": {
            "kind": "deeplink-to-auth-wall",
            "url": "https://www.mypension.be/",
            "delivery_mode": "user-driven-after-auth"
          },
          "validation_path": {
            "kind": "agent-reaches-auth-wall-only",
            "success_signals": [
              {
                "check": "deeplink-reaches-auth-wall",
                "value": true
              },
              {
                "check": "redirect-chain-matches-pattern",
                "value": "^https://(www\\.)?mypension\\.be/.*"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "404"
              },
              {
                "check": "redirects-to",
                "value": "unrelated-page",
                "outcome": "redirect-to-unrelated-page"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 30,
          "actor": {
            "primary": "user",
            "handoff": {
              "when": "full-takeover",
              "agent_responsibility": "Fallback only — mypension.be is the Sigedis pension-projection surface and does NOT host the compte individuel PDF for art. 12bis. Use only if mycareer.be is unavailable, in which case mypension.be may surface a routing link to mycareer.be that you can follow under CSAM session continuity.",
              "user_responsibility": "Sign in with CSAM and look for the 'My career on mycareer.be' link from the mypension.be dashboard FAQ.",
              "resumption": "Tell me when you've followed the link across to mycareer.be; from there we resume the priority-1 source."
            }
          },
          "fallback_only": true,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Demoted to fallback 2026-05-16. mypension.be is a pension-projection portal — its FAQ explicitly distinguishes 'My career on mypension.be' from 'My career on mycareer.be'. The compte individuel for art. 12bis lives on mycareer.be."
        },
        {
          "id": "offline-sigedis-mail-request",
          "source_class": "offline",
          "audience": {
            "regions": [
              "brussels",
              "wallonia",
              "flanders",
              "federal"
            ],
            "predicates": [
              {
                "field": "user.residency_status",
                "op": "exists",
                "value": true
              }
            ]
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "postal",
            "desk": "Sigedis — service compte individuel (postal request)",
            "delivery_mode": "postal"
          },
          "validation_path": {
            "kind": "user-confirms",
            "success_signals": [
              {
                "check": "user-confirms-document-received",
                "value": true
              }
            ],
            "failure_signals": [
              {
                "check": "user-reports-document-refused",
                "value": "Sigedis did not produce the extract",
                "outcome": "source-refused"
              },
              {
                "check": "commune-says-elsewhere",
                "value": "use mypension.be",
                "outcome": "commune-redirected-elsewhere"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 10,
          "actor": {
            "primary": "user",
            "handoff": {
              "when": "physical-presence",
              "agent_responsibility": "I'll prepare a postal request template addressed to Sigedis asking for your 'compte individuel' covering the 12bis §1, 2° window. Include a copy of your eID. Sigedis answers by post within a few weeks.",
              "user_responsibility": "Send the postal request to Sigedis (address on sigedis.be). Wait for the postal reply; keep the envelope as proof of the request date.",
              "resumption": "When you receive the postal extract, confirm receipt and I'll attach it to your dossier."
            }
          },
          "fallback_only": true,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Postal fallback for users without CSAM. Not commune-routed; Sigedis is federal."
        }
      ],
      "related_skills": [
        "nationality-application"
      ],
      "last_verified": "2026-05-16"
    },
    "residence-registration-correctness-check": {
      "id": "residence-registration-correctness-check",
      "uid": "pth-00015",
      "title": {
        "fr": "Vérification de l'inscription au registre de la population",
        "nl": "Controle van de inschrijving in het bevolkingsregister",
        "en": "Population-register registration correctness check",
        "de": "Überprüfung der Eintragung im Bevölkerungsregister"
      },
      "description": {
        "fr": "Avant de commander le certificat de résidence avec historique, vérifier que l'inscription au registre national couvre bien la période 12bis (adresse(s), continuité, composition de ménage). Toute erreur (radiation involontaire, mauvaise adresse) doit être corrigée avec la commune avant le dépôt du dossier.",
        "nl": "Voordat u het verblijfsbewijs met historiek bestelt, controleert u of uw inschrijving in het rijksregister de hele 12bis-periode dekt (adressen, continuïteit, gezinssamenstelling). Eventuele fouten moeten eerst door de gemeente worden gecorrigeerd.",
        "en": "Before requesting the residence-history certificate, verify that your National Register entry covers the full 12bis period (addresses, continuity, household composition). Any error (unintended deregistration, wrong address) must be corrected with the commune before the dossier is filed."
      },
      "themes": [
        "identity-civil-status",
        "residency-and-immigration"
      ],
      "authority_id": "communes-collective",
      "schema_version": 1,
      "version": "0.1.0",
      "status": "alpha",
      "origin": "be-civic",
      "category": "belgium-commune",
      "purpose": "preparation",
      "applies_to": {
        "audience_summary": "every 12bis declarant — verify before requesting the formal residence-history certificate"
      },
      "outputs": [
        {
          "name": "registration_correctness_confirmation",
          "type": "document_artefact"
        }
      ],
      "sources": [
        {
          "id": "my-belgium-register-check-handoff",
          "source_class": "federal-auth-handoff",
          "audience": {
            "regions": [
              "federal"
            ],
            "predicates": [
              {
                "field": "user.document_inventory.has_eID",
                "op": "eq",
                "value": true
              }
            ]
          },
          "auth": {
            "method": "csam",
            "supported_providers": [
              "itsme",
              "eid",
              "mygov.be",
              "smart-id"
            ]
          },
          "procedure": {
            "kind": "deeplink-to-auth-wall",
            "url": "https://my.belgium.be/",
            "delivery_mode": "user-driven-after-auth"
          },
          "validation_path": {
            "kind": "agent-reaches-auth-wall-only",
            "success_signals": [
              {
                "check": "deeplink-reaches-auth-wall",
                "value": true
              },
              {
                "check": "redirect-chain-matches-pattern",
                "value": "^https://my\\.belgium\\.be/.*"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "404"
              },
              {
                "check": "redirects-to",
                "value": "unrelated-page",
                "outcome": "redirect-to-unrelated-page"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 80,
          "actor": {
            "primary": "user",
            "handoff": {
              "when": "full-takeover",
              "agent_responsibility": "I'll send you to my.belgium.be. After CSAM sign-in, open 'Mon dossier' / 'Mijn dossier' at the Rijksregister and review your address history, residency status, and household composition. Tell me anything that does not match your real situation.",
              "user_responsibility": "Sign in, review, and report any discrepancy: missing address, wrong dates, missed children/spouse, periods abroad that should not break Belgian residence under 12bis. Take screenshots of anything unusual.",
              "resumption": "Report back. If everything matches, we proceed to request the residence-history certificate. If anything is wrong, I'll route you to the address-change or population-register-correction flow with your commune first."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Probed 2026-05-12: HTTP 200 (assumed), portal explicitly references Rijksregister 'Mon dossier' surface."
        },
        {
          "id": "wallonia-population-register-check-page",
          "source_class": "wallonia-sitemap-page",
          "audience": {
            "regions": [
              "wallonia"
            ],
            "predicates": [
              {
                "field": "user.region",
                "op": "eq",
                "value": "wallonia"
              }
            ]
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "sitemap-page-fetch",
            "url": "https://www.wallonie.be/fr/demarches/obtenir-un-certificat-des-registres-de-population-domicile-composition-de-menage-nationalite-vie",
            "delivery_mode": "informational-routing"
          },
          "validation_path": {
            "kind": "agent-driven-headless",
            "success_signals": [
              {
                "check": "sitemap-contains-path",
                "value": "/fr/demarches/obtenir-un-certificat-des-registres-de-population-domicile-composition-de-menage-nationalite-vie"
              },
              {
                "check": "page-loads-200",
                "value": 200
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "source-retired"
              },
              {
                "check": "sitemap-entry-missing",
                "value": "demarches/obtenir-un-certificat-des-registres-de-population",
                "outcome": "sitemap-entry-removed"
              }
            ],
            "user_confirms_required": false
          },
          "priority": 60,
          "actor": {
            "primary": "agent",
            "handoff": {
              "when": "none",
              "agent_responsibility": "I'll read the Wallonia population-register page to confirm what the commune typically lists (domicile, composition de ménage, nationalité, vie) so we can cross-check against your case.",
              "user_responsibility": "None — the agent handles this source fully with no customer action required.",
              "resumption": "I'll quote the relevant elements back to you and use them as the checklist for the commune visit if needed."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Same Wallonia page used in the residence-history-certificate path; quoted here as the correctness-check reference. Probed 2026-05-12: HTTP 200."
        },
        {
          "id": "offline-commune-population-register-check",
          "source_class": "offline",
          "audience": {
            "regions": [
              "brussels",
              "wallonia",
              "flanders",
              "federal"
            ],
            "predicates": [
              {
                "field": "user.commune_nis5",
                "op": "exists",
                "value": true
              }
            ]
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "commune-visit",
            "desk": "Service Population / Bevolkingsdienst — guichet inscription",
            "delivery_mode": "in-person-or-postal"
          },
          "validation_path": {
            "kind": "user-confirms",
            "success_signals": [
              {
                "check": "user-confirms-document-received",
                "value": true
              }
            ],
            "failure_signals": [
              {
                "check": "user-reports-document-refused",
                "value": "commune refused or could not display history",
                "outcome": "source-refused"
              },
              {
                "check": "commune-says-elsewhere",
                "value": "use my.belgium.be",
                "outcome": "commune-redirected-elsewhere"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 10,
          "actor": {
            "primary": "user",
            "handoff": {
              "when": "physical-presence",
              "agent_responsibility": "I'll prepare what to ask for: a screen review of your population-register entry at the Service Population desk, focusing on the entire 12bis window (5 or 10 years), with attention to interruptions, address changes, and household composition. Bring your eID.",
              "user_responsibility": "Go to the Service Population. Ask the desk to walk you through your entry and confirm there is no break in registration. If anything is wrong, ask for the correction form and follow the commune's correction procedure before requesting the formal residence-history certificate.",
              "resumption": "Report what the desk showed. If corrections are needed, the formal certificate request waits until the correction is processed (typically a few weeks)."
            }
          },
          "fallback_only": true,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Always-available fallback. This is the highest-leverage preparation step — a wrong entry surfaces as a residency-clock break on the 12bis dossier, often weeks after the appointment."
        }
      ],
      "related_skills": [
        "nationality-application"
      ],
      "last_verified": "2026-05-12"
    },
    "hague-apostille-authority-lookup": {
      "id": "hague-apostille-authority-lookup",
      "title": {
        "fr": "Annuaire des autorités compétentes — Convention Apostille de La Haye",
        "nl": "Lijst van bevoegde autoriteiten — Apostilleverdrag van Den Haag",
        "de": "Verzeichnis der zuständigen Behörden — Haager Apostille-Übereinkommen",
        "en": "Hague Apostille Convention — Competent Authority Lookup"
      },
      "description": {
        "fr": "Annuaire alphabétique par pays des autorités désignées comme compétentes (art. 6 de la Convention de 1961) pour délivrer l'apostille. Publié par la Conférence de La Haye de droit international privé (HCCH). Permet de trouver à qui s'adresser dans le pays d'origine du document pour obtenir l'apostille avant de présenter celui-ci en Belgique.",
        "nl": "Alfabetische lijst per land van de autoriteiten die door elke verdragsstaat zijn aangewezen (art. 6 van het Verdrag van 1961) om de apostille af te geven. Gepubliceerd door de Haagse Conferentie voor Internationaal Privaatrecht (HCCH). Helpt om in het land van afgifte te bepalen tot wie men zich moet richten voordat het document in België wordt voorgelegd.",
        "de": "Alphabetische Länderliste der von jedem Vertragsstaat benannten Behörden (Art. 6 des Übereinkommens von 1961), die zur Ausstellung der Apostille berechtigt sind. Veröffentlicht von der Haager Konferenz für Internationales Privatrecht (HCCH).",
        "en": "Alphabetical per-country index of the designated Competent Authorities (Art. 6 of the 1961 Convention) authorised to issue the apostille. Published by the Hague Conference on Private International Law (HCCH). Used to identify which foreign-country authority issues the apostille before the document is produced in Belgium."
      },
      "themes": [
        "identity-civil-status",
        "justice-and-civic-life"
      ],
      "authority_id": "hcch",
      "purpose": "informational",
      "applies_to": {
        "audience_summary": "anyone needing to present a foreign public document in Belgium that originates in a Hague-Apostille contracting state"
      },
      "outputs": [],
      "related_skills": [
        "apostille-foreign-document-hague",
        "nationality-application",
        "f-visa-application",
        "marriage-registration"
      ],
      "sources": [
        {
          "id": "hcch-authorities-list",
          "source_class": "partner-portal",
          "audience": {
            "regions": [
              "federal"
            ],
            "predicates": []
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "static-listing-page",
            "url": "https://www.hcch.net/en/instruments/conventions/authorities1/?cid=41",
            "navigation": "alphabetical-country-list-with-per-country-detail-page"
          },
          "validation_path": {
            "kind": "varies-per-partner",
            "success_signals": [
              {
                "check": "page-text-contains",
                "value": "Convention of 5 October 1961"
              },
              {
                "check": "page-text-contains",
                "value": "Competent Authority"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "source-retired"
              },
              {
                "check": "page-text-contains",
                "value": "Service Unavailable",
                "outcome": "source-temporarily-down"
              }
            ],
            "user_confirms_required": false
          },
          "priority": 60,
          "actor": {
            "primary": "agent",
            "handoff": {
              "when": "none",
              "agent_responsibility": "Fetch the HCCH authorities list and resolve the user's document country of origin to the designated Competent Authority. Quote back the authority's name and contact link in plain language.",
              "user_responsibility": "Provide the country in which the public document was issued.",
              "resumption": "Agent presents the foreign authority's contact route and explains that the apostille is obtained in the issuing country, not in Belgium."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Probed 2026-05-12: HTTP 200, page lists 159+ contracting parties with per-country detail-page links matching the expected static-listing template. HCCH publishes this as authoritative — Article 6 designations are deposited with the depositary. No interactive search; agent fetches and resolves locally."
        },
        {
          "id": "diplomatie-belgium-legalisation-info",
          "source_class": "federal-auth-handoff",
          "audience": {
            "regions": [
              "federal"
            ],
            "predicates": []
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "deeplink-info-page",
            "url": "https://diplomatie.belgium.be/en/services/legalisation_of_documents",
            "post_auth_behavior": "informational-only"
          },
          "validation_path": {
            "kind": "agent-reaches-auth-wall-only",
            "success_signals": [
              {
                "check": "deeplink-reaches-auth-wall",
                "value": true
              },
              {
                "check": "redirect-chain-matches-pattern",
                "value": "^https://diplomatie\\.belgium\\.be/"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "404"
              },
              {
                "check": "redirects-to",
                "value": "/",
                "outcome": "redirect-to-unrelated-page"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 50,
          "actor": {
            "primary": "user",
            "handoff": {
              "when": "full-takeover",
              "agent_responsibility": "Provide the FPS Foreign Affairs page URL describing the apostille convention scope, the contracting-parties table, and the elegalisation portal for Belgian-side processing. Explain that for foreign documents the apostille is obtained in the issuing country, and Belgium's role is to accept the apostilled document at the commune or consular post.",
              "user_responsibility": "Read the FPS Foreign Affairs page to confirm the apostille route applies to the specific document type and country of origin, then follow the per-country authority identified via the HCCH lookup.",
              "resumption": "User returns with the apostilled document in hand; the agent resumes the parent skill (nationality, visa, marriage) and helps with translation and commune submission."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Probed 2026-05-12: HTTP 200, page confirms scope covers both Belgian-outbound and foreign-inbound documents; explicitly references elegalisation.diplomatie.be for the Belgian-side flow. Quoted: 'A legalisation allows a Belgian document to be used abroad or a foreign document to be used in Belgium.' Source class federal-auth-handoff is the right shape: agent points the user at the info page, user takes over reading and acting."
        },
        {
          "id": "fps-foreign-affairs-legalisation-desk-offline",
          "source_class": "offline",
          "audience": {
            "regions": [
              "federal"
            ],
            "predicates": []
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "commune-visit",
            "address": "Service Légalisation, SPF Affaires étrangères, Rue des Petits Carmes 27, 1000 Bruxelles",
            "hours_url": "https://diplomatie.belgium.be/en/services/legalisation_of_documents",
            "what_to_bring": [
              "foreign public document with the foreign-country apostille already affixed",
              "valid ID (eID, passport, or residence card)",
              "any required translation by a sworn translator if the document is not already in fr/nl/de/en"
            ],
            "expected_outcome": "FPS Foreign Affairs confirms the apostille is in order for Belgian acceptance; in rare cases issues additional Belgian-side authentication if the foreign apostille format is contested"
          },
          "validation_path": {
            "kind": "user-confirms",
            "success_signals": [
              {
                "check": "user-confirms-document-received",
                "value": true
              }
            ],
            "failure_signals": [
              {
                "check": "user-reports-document-refused",
                "value": "FPS Foreign Affairs flagged the foreign apostille as non-conforming",
                "outcome": "source-retired"
              },
              {
                "check": "commune-says-elsewhere",
                "value": "directed to country of origin's apostille authority",
                "outcome": "source-retired"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 10,
          "actor": {
            "primary": "user",
            "handoff": {
              "when": "physical-presence",
              "agent_responsibility": "Explain in plain language that the apostille itself is issued by the foreign country's competent authority — not by Belgium. The Belgian FPS Foreign Affairs desk in Brussels only handles edge cases: contested apostilles, additional certifications for non-standard document formats, or legalisation routes outside the Hague Convention. Provide the address, the document list, and the expected outcome.",
              "user_responsibility": "Travel to Brussels with the foreign document carrying its apostille (already affixed by the foreign authority) plus identity proof. The desk reviews acceptance; in the standard case no further Belgian action is required and the document goes directly to the commune.",
              "resumption": "User reports back what FPS Foreign Affairs said. If no further action is required, the agent resumes the parent skill at the translation or commune submission step."
            }
          },
          "fallback_only": true,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Offline fallback per graceful-degradation rule. The standard Hague-Apostille flow does NOT route through the Belgian legalisation desk — the apostille is issued in the country of origin and produced directly to the Belgian commune. This offline channel is the safety net for contested or edge-case apostilles and for confused users who think Belgium issues apostilles for foreign documents. Address sourced from diplomatie.belgium.be page content."
        },
        {
          "id": "hcch-status-table-en",
          "source_class": "partner-portal",
          "audience": {
            "regions": [
              "brussels",
              "flemish",
              "walloon"
            ],
            "communes": [],
            "predicates": []
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "varies-per-partner",
            "url": "https://www.hcch.net/en/instruments/conventions/status-table/?cid=41",
            "partner_summary": "HCCH-maintained status table for the Apostille Convention. Public, no auth. 129 contracting parties as of 2026-05-12."
          },
          "validation_path": {
            "kind": "varies-per-partner",
            "success_signals": [
              {
                "check": "page-text-contains",
                "value": "Convention of 5 October 1961"
              },
              {
                "check": "page-text-contains",
                "value": "Contracting Parties"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "source-retired"
              },
              {
                "check": "page-text-contains",
                "value": "Page not found",
                "outcome": "source-retired"
              }
            ],
            "user_confirms_required": false
          },
          "priority": 70,
          "actor": {
            "primary": "agent",
            "handoff": {
              "when": "none",
              "agent_responsibility": "Fetch the HCCH status table, look up the origin country, and check both party-status and entry-into-force date relative to the document's issue date. Report the binary routing decision (apostille route vs consular-legalisation route) to the customer in plain English.",
              "user_responsibility": "Confirm the country of origin and the document's issue date.",
              "resumption": "Agent records the outcome and proceeds to the correct route."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Probed 2026-05-12: HCCH status table returns HTTP 200 with full 129-party listing. Per spec §6.12.3 partner-portal class — partner declares its own success signals. OVERLAP: id is also expected from the apostille walk; shared id triggers deduplication at consolidation. Pre-accession case (Senegal pre-23-March-2023, per parent skill stub) is the critical edge — the agent MUST check the EIF date for the customer's country, not just party-status today."
        },
        {
          "id": "dfat-fallback-page-corroboration",
          "source_class": "federal-anonymous-form",
          "audience": {
            "regions": [
              "brussels",
              "flemish",
              "walloon"
            ],
            "communes": [],
            "predicates": []
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "agent-walks-user-through-form",
            "url": "https://diplomatie.belgium.be/fr/legalisation-de-documents",
            "form_inputs_summary": "static informational page; no form. DFAT's canonical guidance lists the route (apostille for Hague-party countries, full legalisation chain otherwise)."
          },
          "validation_path": {
            "kind": "agent-walks-user-through-form",
            "success_signals": [
              {
                "check": "form-loaded-selector-visible",
                "value": "main"
              },
              {
                "check": "all-required-fields-fillable",
                "value": true
              },
              {
                "check": "submit-produces-success-page",
                "value": "légalisation"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "form-not-loadable"
              },
              {
                "check": "page-text-contains",
                "value": "Service indisponible",
                "outcome": "source-temporarily-down"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 50,
          "actor": {
            "primary": "agent",
            "handoff": {
              "when": "none",
              "agent_responsibility": "Cross-reference HCCH party-status with DFAT's canonical guidance page. If HCCH is unavailable, this DFAT page provides the same routing decision via prose.",
              "user_responsibility": "Confirm the country of origin.",
              "resumption": "Agent records and continues."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Probed 2026-05-12: HTTPS GET on diplomatie.belgium.be/fr/legalisation-de-documents returns HTTP 200. The page is a federal canonical informational surface — not strictly a form, but classified as federal-anonymous-form per §6.12.3 since it's a federal page with no auth and the agent walks the customer through reading it. Approximate fit (no better source_class for static federal informational pages in the V0 9-enum)."
        },
        {
          "id": "hague-status-offline-fallback",
          "source_class": "offline",
          "audience": {
            "regions": [
              "brussels",
              "flemish",
              "walloon"
            ],
            "communes": [],
            "predicates": []
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "email",
            "address_template": "SPF Affaires étrangères, Service Légalisations, legal@diplobel.fed.be — or rue des Petits Carmes 27, 1000 Bruxelles in person",
            "what_to_bring": "the country of origin name; the type of document; the date of issue of the document"
          },
          "validation_path": {
            "kind": "user-confirms",
            "success_signals": [
              {
                "check": "user-confirms-document-received",
                "value": true
              }
            ],
            "failure_signals": [
              {
                "check": "user-reports-document-refused",
                "value": "no clear answer",
                "outcome": "channel-change-required"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 10,
          "actor": {
            "primary": "user",
            "handoff": {
              "when": "physical-presence",
              "agent_responsibility": "If HCCH and DFAT are both unreachable, tell the customer to email or visit the SPF Affaires étrangères Legalisations desk with the country name, document type, and issue date to confirm the route.",
              "user_responsibility": "Email or visit; receive an authoritative routing decision.",
              "resumption": "Customer reports back which route applies."
            }
          },
          "fallback_only": true,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Offline fallback per graceful-degradation requirement and §6.12.4 physical-presence/offline invariant. Note this is the same DFAT counter as the dfat-counter-brussels-offline source — re-cited here under its precondition-check role."
        }
      ],
      "last_verified": "2026-05-12",
      "uid": "pth-00012",
      "schema_version": 1,
      "version": "0.1.0",
      "status": "alpha",
      "origin": "be-civic",
      "category": "belgium-federal-civil-status"
    },
    "elegalisation-belgium-portal": {
      "id": "elegalisation-belgium-portal",
      "title": {
        "fr": "eLegalisation — Portail d'apostille des documents belges (sortants)",
        "nl": "eLegalisatie — Portaal voor apostille van Belgische documenten (uitgaand)",
        "de": "eLegalisierung — Apostille-Portal für belgische Dokumente (ausgehend)",
        "en": "eLegalisation — Belgian outbound-document Apostille portal"
      },
      "description": {
        "fr": "Plateforme en ligne du SPF Affaires étrangères pour faire apostiller un document belge destiné à être utilisé à l'étranger. NE concerne PAS les documents étrangers présentés en Belgique (ceux-ci s'apostillent dans le pays d'origine). Inclus ici pour désambiguïsation : les utilisateurs confondent souvent la direction de l'apostille.",
        "nl": "Online platform van FOD Buitenlandse Zaken om een Belgisch document te laten apostilleren voor gebruik in het buitenland. NIET voor buitenlandse documenten die in België worden voorgelegd (die worden geapostilleerd in het land van afgifte). Hier opgenomen ter desambiguering: gebruikers verwarren vaak de apostille-richting.",
        "de": "Online-Plattform des FÖD Auswärtige Angelegenheiten zur Apostille belgischer Dokumente, die im Ausland vorgelegt werden. NICHT für ausländische Dokumente, die in Belgien vorgelegt werden — diese werden im Ausstellungsland apostilliert.",
        "en": "Online platform of FPS Foreign Affairs for apostilling Belgian-issued documents destined for use abroad. NOT for foreign documents being presented in Belgium (those are apostilled in the country of origin). Included here for direction-disambiguation."
      },
      "themes": [
        "identity-civil-status",
        "justice-and-civic-life"
      ],
      "authority_id": "spf-affaires-etrangeres",
      "purpose": "informational",
      "applies_to": {
        "audience_summary": "Belgian residents needing to present a Belgian-issued document abroad — NOT the foreign-document-into-Belgium flow this skill covers"
      },
      "outputs": [],
      "related_skills": [
        "apostille-foreign-document-hague"
      ],
      "sources": [
        {
          "id": "elegalisation-portal-auth-handoff",
          "source_class": "federal-auth-handoff",
          "audience": {
            "regions": [
              "federal"
            ],
            "predicates": []
          },
          "auth": {
            "method": "csam",
            "supported_providers": [
              "itsme",
              "eid",
              "mygov.be"
            ]
          },
          "procedure": {
            "kind": "deeplink-after-auth",
            "deeplink": "https://elegalisation.diplomatie.be/",
            "post_auth_behavior": "user-creates-request-and-submits"
          },
          "validation_path": {
            "kind": "agent-reaches-auth-wall-only",
            "success_signals": [
              {
                "check": "deeplink-reaches-auth-wall",
                "value": true
              },
              {
                "check": "redirect-chain-matches-pattern",
                "value": "^https://elegalisation\\.diplomatie\\.be/"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "404"
              },
              {
                "check": "redirects-to",
                "value": "/",
                "outcome": "redirect-to-unrelated-page"
              },
              {
                "check": "response-status",
                "value": "503",
                "outcome": "source-retired"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 50,
          "actor": {
            "primary": "user",
            "handoff": {
              "when": "full-takeover",
              "agent_responsibility": "Confirm the user actually needs the outbound direction (Belgian document going abroad), not the inbound direction this skill normally covers. If outbound, hand off the elegalisation.diplomatie.be deeplink with a plain-English summary: the user authenticates with itsme or eID, selects the document type and destination country, uploads the source document, pays the fee, and receives the apostilled document electronically. Explain that not all document types are supported in the online channel...",
              "user_responsibility": "Authenticate with itsme or eID on the elegalisation portal, complete the request flow, pay the fee, and download the apostilled document when ready.",
              "resumption": "User reports back when the apostilled Belgian document is in hand. Since this is the reverse direction from the parent skill, the agent confirms whether the user still needs help with the (foreign-document-into-Belgium) skill they originally invoked or whether they reached this skill by misdirection."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Probed 2026-05-12 indirectly via parent diplomatie.belgium.be page (HTTP 200, content confirms elegalisation.diplomatie.be is the canonical portal and quotes the accredited-issuers eligibility). Direct probe of elegalisation.diplomatie.be returned a Redirecting interstitial — typical for CSAM-gated portals where the landing redirects to the auth wall; consistent with federal-auth-handoff template. The elegalisation portal applies to BELGIAN-issued documents for OUTBOUND use; this is..."
        },
        {
          "id": "spf-affaires-etrangeres-desk-offline",
          "source_class": "offline",
          "audience": {
            "regions": [
              "federal"
            ],
            "predicates": []
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "commune-visit",
            "address": "Service Légalisation, SPF Affaires étrangères, Rue des Petits Carmes 27, 1000 Bruxelles",
            "hours_url": "https://diplomatie.belgium.be/en/services/legalisation_of_documents",
            "what_to_bring": [
              "the Belgian document to be apostilled (original or certified copy)",
              "valid ID",
              "payment for the legalisation fee"
            ],
            "expected_outcome": "FPS Foreign Affairs affixes the apostille on the Belgian document on-the-spot or by post depending on document type"
          },
          "validation_path": {
            "kind": "user-confirms",
            "success_signals": [
              {
                "check": "user-confirms-document-received",
                "value": true
              }
            ],
            "failure_signals": [
              {
                "check": "user-reports-document-refused",
                "value": "document type not within FPS scope",
                "outcome": "source-retired"
              },
              {
                "check": "commune-says-elsewhere",
                "value": "directed to issuing-authority intermediate certification first",
                "outcome": "source-retired"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 10,
          "actor": {
            "primary": "user",
            "handoff": {
              "when": "physical-presence",
              "agent_responsibility": "Provide the in-person desk address as fallback for the outbound apostille flow when the elegalisation portal does not support the user's document type. Note that an intermediate certification by the issuing authority (commune, notaire, tribunal) is often required before FPS Foreign Affairs apostilles the document.",
              "user_responsibility": "Visit the legalisation desk in Brussels with the Belgian document, ID, and fee. Be prepared to first visit the issuing authority for an intermediate certification.",
              "resumption": "User confirms when the apostille is in hand. Agent resumes with whichever step comes next in the user's actual journey."
            }
          },
          "fallback_only": true,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Offline fallback per graceful-degradation rule. Address sourced from diplomatie.belgium.be content (probed 2026-05-12). Reverse-direction path; included for completeness on this candidate."
        }
      ],
      "last_verified": "2026-05-12",
      "uid": "pth-00008",
      "schema_version": 1,
      "version": "0.1.0",
      "status": "alpha",
      "origin": "be-civic",
      "category": "belgium-federal-civil-status"
    },
    "dfat-elegalisation-portal": {
      "id": "dfat-elegalisation-portal",
      "title": {
        "fr": "Légalisation finale par le SPF Affaires étrangères (eLegalisation)",
        "nl": "Eindlegalisatie door FOD Buitenlandse Zaken (eLegalisation)",
        "de": "Endgültige Legalisierung durch den FÖD Auswärtige Angelegenheiten (eLegalisation)",
        "en": "Final legalisation by FPS Foreign Affairs (eLegalisation)"
      },
      "description": {
        "fr": "Service DFAT/SPF Affaires étrangères qui appose le dernier maillon de la chaîne de légalisation sur un document étranger destiné à être utilisé en Belgique, lorsque le pays d'origine n'est pas partie à la Convention de La Haye. Tarif fixe de 20 €/document. Disponible via le portail eLegalisation (autorité émettrice) ou au guichet à Bruxelles.",
        "nl": "DFAT-/FOD-dienst die de laatste schakel van de legalisatieketen aanbrengt op een buitenlands document bestemd voor gebruik in België, wanneer het land van oorsprong geen partij is bij het Apostilleverdrag. Vast tarief 20 €/document. Beschikbaar via het eLegalisation-portaal (afgevende autoriteit) of aan het loket in Brussel.",
        "de": "DFAT-/FÖD-Dienst, der das letzte Glied der Legalisationskette an einem ausländischen Dokument zur Verwendung in Belgien anbringt, wenn der Herkunftsstaat nicht Vertragspartei des Haager Übereinkommens ist. Pauschal 20 €/Dokument. Verfügbar über das eLegalisation-Portal (ausstellende Behörde) oder am Schalter in Brüssel.",
        "en": "DFAT / FPS Foreign Affairs service that affixes the final link of the legalisation chain on a foreign document intended for use in Belgium, when the origin country is not party to the Hague Apostille Convention. Flat rate 20 EUR/document. Available via the eLegalisation portal (issuing authority side) or at the counter in Brussels."
      },
      "themes": [
        "identity-civil-status",
        "residency-and-immigration"
      ],
      "authority_id": "spf-affaires-etrangeres",
      "purpose": "submission",
      "applies_to": {
        "document_inventory.has_foreign_public_document": [
          true
        ],
        "origin_country.hague_apostille_party": [
          false
        ],
        "audience_summary": "anyone holding a foreign public document originating in a non-Hague country and needing the document to be usable by Belgian authorities"
      },
      "outputs": [
        {
          "name": "legalised_document",
          "type": "document_artefact"
        }
      ],
      "sources": [
        {
          "id": "elegalisation-portal-anonymous-form",
          "source_class": "federal-anonymous-form",
          "audience": {
            "regions": [
              "brussels",
              "flemish",
              "walloon"
            ],
            "communes": [],
            "predicates": [
              {
                "field": "user.document_inventory.has_passport_BE",
                "op": "exists",
                "value": true
              }
            ]
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "agent-walks-user-through-form",
            "url": "https://elegalisation.diplomatie.be/",
            "form_inputs_summary": "issuing-authority side submits the legalisation request; private citizens are directed by DFAT to have the issuing authority lodge the request. Anonymous landing requires no CSAM."
          },
          "validation_path": {
            "kind": "agent-walks-user-through-form",
            "success_signals": [
              {
                "check": "form-loaded-selector-visible",
                "value": "form#legalisation-request"
              },
              {
                "check": "all-required-fields-fillable",
                "value": true
              },
              {
                "check": "submit-produces-success-page",
                "value": "Demande enregistrée"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "form-not-loadable"
              },
              {
                "check": "page-text-contains",
                "value": "Service indisponible",
                "outcome": "source-temporarily-down"
              },
              {
                "check": "page-text-contains",
                "value": "Vous n'êtes pas autorisé",
                "outcome": "fields-missing"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 80,
          "actor": {
            "primary": "both",
            "handoff": {
              "when": "confirmation",
              "agent_responsibility": "Explain that DFAT processes electronic legalisation requests via the eLegalisation portal, walk through the form fields (document type, issuing country, issuing authority, applicant address), and prepare the submission state.",
              "user_responsibility": "Review the prepared submission, attach the scanned document, and click submit. Pay the 20 EUR fee at the payment step.",
              "resumption": "Tell the agent when the confirmation page appears with the request reference. The agent records the reference and continues to the next chain step."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Probed 2026-05-12: HTTPS GET on elegalisation.diplomatie.be returns a redirect (single 'Redirecting' marker); not 404. Source harvested from be-civic-belgian-portals/outbound-merged.json (FL outbound link). DFAT page at diplomatie.belgium.be/fr/legalisation-de-documents confirms the portal exists and is the canonical electronic submission path: 'L'autorité émettrice du document électronique…introduira directement votre demande auprès de nos services via le site web eLegalization.' Per-class..."
        },
        {
          "id": "dfat-counter-brussels-offline",
          "source_class": "offline",
          "audience": {
            "regions": [
              "brussels",
              "flemish",
              "walloon"
            ],
            "communes": [],
            "predicates": []
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "commune-visit",
            "address_template": "SPF Affaires étrangères, Service Légalisations, rue des Petits Carmes 27, 1000 Bruxelles",
            "what_to_bring": "the foreign document already endorsed by the issuing country's foreign ministry and by the Belgian embassy in that country; identity document; 20 EUR per document (electronic payment only — cash refused since 2018)",
            "fee_eur": 20,
            "hours_note": "appointment may be required; consult the diplomatie.belgium.be page for current opening hours and queue rules"
          },
          "validation_path": {
            "kind": "user-confirms",
            "success_signals": [
              {
                "check": "user-confirms-document-received",
                "value": true
              }
            ],
            "failure_signals": [
              {
                "check": "user-reports-document-refused",
                "value": "missing intermediate endorsement",
                "outcome": "incomplete-chain"
              },
              {
                "check": "commune-says-elsewhere",
                "value": "appointment-only / different desk",
                "outcome": "channel-change-required"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 10,
          "actor": {
            "primary": "user",
            "handoff": {
              "when": "physical-presence",
              "agent_responsibility": "Tell the customer the exact address (rue des Petits Carmes 27, 1000 Bruxelles), what to bring (the document with the foreign ministry's endorsement plus the Belgian embassy's endorsement already affixed), the 20 EUR fee, that cash is no longer accepted, and that an appointment may be required.",
              "user_responsibility": "Travel to the DFAT Legalisations desk in Brussels, present the document, pay electronically, and collect the legalised document (same day for most cases).",
              "resumption": "Tell the agent when the document has been legalised. The agent records the outcome and continues."
            }
          },
          "fallback_only": true,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Offline fallback per §6.12.4 invariant (handoff.when=physical-presence → source_class=offline, procedure.kind=commune-visit). Address sourced from diplomatie.belgium.be/fr/legalisation-de-documents — the canonical SPF Affaires étrangères Legalisations desk in Brussels. Fee confirmed via WebFetch 2026-05-12: 'Le prix par légalisation ou apostille est toujours de 20 euros par document.' Cash payment explicitly refused."
        }
      ],
      "related_skills": [
        "consular-legalisation-foreign-document",
        "nationality-application",
        "f-visa-application",
        "marriage-registration"
      ],
      "uid": "pth-00007",
      "schema_version": 1,
      "version": "0.1.0",
      "status": "alpha",
      "origin": "be-civic",
      "last_verified": "2026-05-12",
      "category": "belgium-federal-civil-status"
    },
    "belgian-embassy-locator-abroad": {
      "id": "belgian-embassy-locator-abroad",
      "title": {
        "fr": "Trouver l'ambassade ou le consulat belge à l'étranger",
        "nl": "Belgische ambassade of consulaat in het buitenland zoeken",
        "de": "Belgische Botschaft oder Konsulat im Ausland finden",
        "en": "Find the Belgian embassy or consulate abroad"
      },
      "description": {
        "fr": "Annuaire officiel des ambassades et consulats belges à l'étranger, publié par le SPF Affaires étrangères. Pour la légalisation consulaire d'un document étranger, l'agent identifie le poste belge compétent dans le pays d'émission afin que le client puisse y présenter le document pour endossement.",
        "nl": "Officieel adressenboek van de Belgische ambassades en consulaten in het buitenland, gepubliceerd door FOD Buitenlandse Zaken. Voor consulaire legalisatie van een buitenlands document identificeert de agent de bevoegde Belgische post in het uitgifteland zodat het document daar voor endossering kan worden ingediend.",
        "de": "Offizielles Verzeichnis der belgischen Botschaften und Konsulate im Ausland, herausgegeben vom FÖD Auswärtige Angelegenheiten. Für die konsularische Legalisierung eines ausländischen Dokuments identifiziert der Agent die zuständige belgische Vertretung im Ausstellungsland.",
        "en": "Official directory of Belgian embassies and consulates abroad, published by FPS Foreign Affairs. For consular legalisation of a foreign document, the agent identifies the competent Belgian post in the issuing country so the customer can present the document there for endorsement."
      },
      "themes": [
        "residency-and-immigration",
        "justice-and-civic-life"
      ],
      "authority_id": "spf-affaires-etrangeres",
      "purpose": "tool",
      "applies_to": {
        "document_inventory.has_foreign_public_document": [
          true
        ],
        "audience_summary": "anyone needing to find the Belgian embassy or consulate in a foreign country"
      },
      "outputs": [],
      "sources": [
        {
          "id": "diplomatie-belgium-embassies-directory",
          "source_class": "federal-anonymous-form",
          "audience": {
            "regions": [
              "brussels",
              "flemish",
              "walloon"
            ],
            "communes": [],
            "predicates": []
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "agent-walks-user-through-form",
            "url": "https://diplomatie.belgium.be/fr/ambassades-et-consulats",
            "form_inputs_summary": "country-name selector returns the Belgian post(s) accredited to that country; results are static directory entries with address, hours, contact email, and consular jurisdiction"
          },
          "validation_path": {
            "kind": "agent-walks-user-through-form",
            "success_signals": [
              {
                "check": "form-loaded-selector-visible",
                "value": "select#country"
              },
              {
                "check": "all-required-fields-fillable",
                "value": true
              },
              {
                "check": "submit-produces-success-page",
                "value": "Ambassade"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "form-not-loadable"
              },
              {
                "check": "page-text-contains",
                "value": "Aucun résultat",
                "outcome": "fields-missing"
              },
              {
                "check": "page-text-contains",
                "value": "Service indisponible",
                "outcome": "source-temporarily-down"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 80,
          "actor": {
            "primary": "both",
            "handoff": {
              "when": "confirmation",
              "agent_responsibility": "Open the directory at diplomatie.belgium.be/fr/ambassades-et-consulats and walk the customer through the country selector. Read back the address, hours, and consular-jurisdiction note.",
              "user_responsibility": "Confirm the country of issue and confirm the post is the one the customer can reach (some Belgian posts cover multiple countries from a single accreditation).",
              "resumption": "Customer notes the embassy address. The agent records the post identifier and continues to the legalisation-by-embassy step described in the parent skill."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Probed 2026-05-12: diplomatie.belgium.be/fr/ambassades-et-consulats returns HTTP 200 with French landing copy ('Sur cette page, vous trouverez les adresses des ambassades et consulats belges à l'étranger'). Per-class template per spec §6.12.3 federal-anonymous-form. OVERLAP: this candidate is also expected from the apostille walk (apostille-foreign-document-hague) — id is intentionally shared so the lead deduplicates on consolidation."
        },
        {
          "id": "hcch-status-table-corroboration",
          "source_class": "partner-portal",
          "audience": {
            "regions": [
              "brussels",
              "flemish",
              "walloon"
            ],
            "communes": [],
            "predicates": []
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "varies-per-partner",
            "url": "https://www.hcch.net/en/instruments/conventions/status-table/?cid=41",
            "partner_summary": "Hague Conference on Private International Law (HCCH) — the official status table for the Hague Apostille Convention. Used to confirm that the origin country is NOT a party (the gating condition that routes the customer onto this legalisation skill rather than the apostille skill)."
          },
          "validation_path": {
            "kind": "varies-per-partner",
            "success_signals": [
              {
                "check": "page-text-contains",
                "value": "Convention of 5 October 1961"
              },
              {
                "check": "page-text-contains",
                "value": "Contracting Parties"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "source-retired"
              },
              {
                "check": "page-text-contains",
                "value": "Page not found",
                "outcome": "source-retired"
              }
            ],
            "user_confirms_required": false
          },
          "priority": 50,
          "actor": {
            "primary": "agent",
            "handoff": {
              "when": "none",
              "agent_responsibility": "Fetch the HCCH status table and confirm that the customer's origin country is not listed as a contracting party (or that the document predates the country's accession date).",
              "user_responsibility": "Confirm the country of origin and the document's date of issue.",
              "resumption": "Agent records the confirmation and proceeds with the consular-legalisation route."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Probed 2026-05-12: HCCH status table returns HTTP 200 with the 129-party convention status table. Public, no auth. Used as a precondition-check before committing the customer to the consular-legalisation chain — saves a wasted trip if the country is actually Hague-party (route to apostille skill instead). OVERLAP: id may also appear under apostille walk's enumeration as a corroboration source."
        },
        {
          "id": "embassy-locator-offline-fallback",
          "source_class": "offline",
          "audience": {
            "regions": [
              "brussels",
              "flemish",
              "walloon"
            ],
            "communes": [],
            "predicates": []
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "email",
            "address_template": "SPF Affaires étrangères, Service Légalisations, legal@diplobel.fed.be (or rue des Petits Carmes 27, 1000 Bruxelles in person)",
            "what_to_bring": "the country of origin name; the type of document; any prior correspondence with the foreign-country authorities"
          },
          "validation_path": {
            "kind": "user-confirms",
            "success_signals": [
              {
                "check": "user-confirms-document-received",
                "value": true
              }
            ],
            "failure_signals": [
              {
                "check": "user-reports-document-refused",
                "value": "country has no Belgian post; consult country covered by neighbouring post",
                "outcome": "channel-change-required"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 10,
          "actor": {
            "primary": "user",
            "handoff": {
              "when": "physical-presence",
              "agent_responsibility": "Tell the customer to contact the SPF Affaires étrangères Legalisations desk by email or in person if the online directory does not resolve the post (some countries have no resident Belgian mission and are covered by a Belgian post in a neighbouring country).",
              "user_responsibility": "Email or visit the desk with the country and document type. Receive guidance on which Belgian post is competent.",
              "resumption": "Customer reports back which Belgian post was identified."
            }
          },
          "fallback_only": true,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Offline fallback per graceful-degradation requirement and §6.12.4 physical-presence/offline invariant. Used when the online country directory does not surface a Belgian post for the customer's country (rare; mostly small jurisdictions covered by neighbouring posts). OVERLAP: same id may appear under apostille walk."
        }
      ],
      "related_skills": [
        "consular-legalisation-foreign-document",
        "apostille-foreign-document-hague",
        "document-legalisation-belgian-for-abroad",
        "document-legalisation-foreign-for-belgium",
        "nationality-application"
      ],
      "uid": "pth-00002",
      "schema_version": 1,
      "version": "0.1.0",
      "status": "alpha",
      "origin": "be-civic",
      "last_verified": "2026-05-12",
      "category": "belgium-federal"
    },
    "sworn-translator-finder-belgium": {
      "id": "sworn-translator-finder-belgium",
      "title": {
        "fr": "Trouver un traducteur ou interprète juré (NRBTV)",
        "nl": "Een beëdigd vertaler of tolk vinden (NRGBVT)",
        "de": "Einen vereidigten Übersetzer oder Dolmetscher finden",
        "en": "Find a sworn translator or interpreter (NRBTV)"
      },
      "description": {
        "fr": "Registre national public des traducteurs et interprètes jurés (NRBTV) tenu par le SPF Justice. Recherche par combinaison de langues et localisation. Pour un document légalisé par voie consulaire et destiné à une autorité belge, une traduction jurée vers le français, le néerlandais ou l'allemand est généralement requise.",
        "nl": "Openbaar nationaal register van beëdigde vertalers en tolken (NRGBVT) bijgehouden door FOD Justitie. Zoeken op talencombinatie en locatie. Voor een consulair gelegaliseerd document bestemd voor een Belgische overheid is doorgaans een beëdigde vertaling naar het Frans, Nederlands of Duits vereist.",
        "de": "Öffentliches nationales Register der vereidigten Übersetzer und Dolmetscher, geführt vom FÖD Justiz. Suche nach Sprachkombination und Standort. Für ein konsularisch legalisiertes Dokument zur Verwendung bei belgischen Behörden ist in der Regel eine vereidigte Übersetzung ins Französische, Niederländische oder Deutsche erforderlich.",
        "en": "Public national register of sworn translators and interpreters (NRBTV) maintained by FPS Justice. Search by language pair and location. For a consular-legalised document intended for a Belgian authority, a sworn translation into French, Dutch, or German is generally required."
      },
      "themes": [
        "justice-and-civic-life",
        "identity-civil-status"
      ],
      "authority_id": "spf-justice",
      "purpose": "tool",
      "applies_to": {
        "document_inventory.has_foreign_public_document": [
          true
        ],
        "audience_summary": "anyone whose foreign document is not already in French, Dutch, or German and who needs the document to be usable by Belgian administrations"
      },
      "outputs": [],
      "sources": [
        {
          "id": "justsearch-nrbtv-search-fr",
          "source_class": "federal-anonymous-form",
          "audience": {
            "regions": [
              "brussels",
              "walloon"
            ],
            "communes": [],
            "predicates": [
              {
                "field": "user.administration_language",
                "op": "in",
                "value": [
                  "fr",
                  "fr_BE"
                ]
              }
            ]
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "agent-walks-user-through-form",
            "url": "https://justsearch.just.fgov.be/national-registry-search/translator?lang=fr",
            "form_inputs_summary": "language-pair selectors (from/to), optional postal code or commune, optional name; results are translator entries with contact and language combinations"
          },
          "validation_path": {
            "kind": "agent-walks-user-through-form",
            "success_signals": [
              {
                "check": "form-loaded-selector-visible",
                "value": "form.translator-search"
              },
              {
                "check": "all-required-fields-fillable",
                "value": true
              },
              {
                "check": "submit-produces-success-page",
                "value": "résultat"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "form-not-loadable"
              },
              {
                "check": "page-text-contains",
                "value": "Aucun résultat",
                "outcome": "fields-missing"
              },
              {
                "check": "page-text-contains",
                "value": "Service indisponible",
                "outcome": "source-temporarily-down"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 80,
          "actor": {
            "primary": "both",
            "handoff": {
              "when": "confirmation",
              "agent_responsibility": "Open justsearch.just.fgov.be/national-registry-search/translator and walk the customer through selecting the source-language and target-language (French/Dutch/German), and a location filter.",
              "user_responsibility": "Pick a translator from the results, contact them directly to confirm availability and fee, and arrange a meeting or postal exchange.",
              "resumption": "Customer reports back which translator is engaged. The agent records the choice and continues to the document-submission step."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Probed 2026-05-12: justsearch.just.fgov.be/national-registry-search/translator returns HTTP 200 (JustSearch page header rendered). URL discovered via justice.belgium.be/fr WebFetch. SPF Justice page at justice.belgium.be confirms the link: 'Rechercher un traducteur/interprète' under Services en ligne. OVERLAP: id is also produced by apostille walk."
        },
        {
          "id": "justsearch-nrbtv-search-nl",
          "source_class": "federal-anonymous-form",
          "audience": {
            "regions": [
              "flemish",
              "brussels"
            ],
            "communes": [],
            "predicates": [
              {
                "field": "user.administration_language",
                "op": "in",
                "value": [
                  "nl",
                  "nl_BE"
                ]
              }
            ]
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "agent-walks-user-through-form",
            "url": "https://justsearch.just.fgov.be/national-registry-search/translator?lang=nl",
            "form_inputs_summary": "Dutch-language variant of the same NRBTV search interface"
          },
          "validation_path": {
            "kind": "agent-walks-user-through-form",
            "success_signals": [
              {
                "check": "form-loaded-selector-visible",
                "value": "form.translator-search"
              },
              {
                "check": "all-required-fields-fillable",
                "value": true
              },
              {
                "check": "submit-produces-success-page",
                "value": "resultaat"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "form-not-loadable"
              },
              {
                "check": "page-text-contains",
                "value": "Geen resultaat",
                "outcome": "fields-missing"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 80,
          "actor": {
            "primary": "both",
            "handoff": {
              "when": "confirmation",
              "agent_responsibility": "Open the NRBTV search in Dutch and walk the customer through language and location filters.",
              "user_responsibility": "Pick a translator, contact them, agree on fee and timeline.",
              "resumption": "Customer reports the choice; agent records and continues."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Probed 2026-05-12: same justsearch.just.fgov.be host returns HTTP 200 for the Dutch lang variant. Disjunction (FR vs NL administration language) split into two sources per spec §6.12.5 (predicates AND-only, no OR — disjunction handled by source split)."
        },
        {
          "id": "sworn-translator-offline-fallback",
          "source_class": "offline",
          "audience": {
            "regions": [
              "brussels",
              "flemish",
              "walloon"
            ],
            "communes": [],
            "predicates": []
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "commune-visit",
            "address_template": "Tribunal de première instance / Rechtbank van eerste aanleg — sworn-translator clerk at the customer's local tribunal arrondissement; or commune service-desk for a referral",
            "what_to_bring": "the document needing translation; identity document; the language pair required",
            "fee_eur": null,
            "hours_note": "fees vary by translator and document length; agree directly with the translator. No standard rate."
          },
          "validation_path": {
            "kind": "user-confirms",
            "success_signals": [
              {
                "check": "user-confirms-document-received",
                "value": true
              }
            ],
            "failure_signals": [
              {
                "check": "user-reports-document-refused",
                "value": "no translator available for the language pair locally",
                "outcome": "channel-change-required"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 10,
          "actor": {
            "primary": "user",
            "handoff": {
              "when": "physical-presence",
              "agent_responsibility": "If the online NRBTV register cannot be reached, tell the customer to ask their commune service desk or the local tribunal de première instance / rechtbank van eerste aanleg clerk for a sworn-translator referral.",
              "user_responsibility": "Visit the commune or tribunal, ask for a sworn translator for the language pair, and arrange the translation directly.",
              "resumption": "Customer reports who was engaged."
            }
          },
          "fallback_only": true,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Offline fallback per graceful-degradation requirement. Note: commune referrals for sworn translators are informal; the canonical authoritative register is the NRBTV. The fee field is intentionally null — sworn translation pricing is not regulated centrally and varies widely. OVERLAP: id also produced by apostille walk."
        },
        {
          "id": "spf-justice-sworn-translator-register",
          "source_class": "partner-portal",
          "audience": {
            "regions": [
              "federal"
            ],
            "predicates": []
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "public-search-portal",
            "operator_authority": "SPF Justice",
            "discovery_url": "https://justice.belgium.be/",
            "search_axes": [
              "source_language",
              "target_language",
              "judicial_district",
              "service_type"
            ]
          },
          "validation_path": {
            "kind": "varies-per-partner",
            "success_signals": [
              {
                "check": "page-text-contains",
                "value": "traducteur"
              },
              {
                "check": "page-text-contains",
                "value": "registre"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "source-retired"
              },
              {
                "check": "page-text-contains",
                "value": "Service indisponible",
                "outcome": "source-temporarily-down"
              }
            ],
            "user_confirms_required": false
          },
          "priority": 60,
          "actor": {
            "primary": "agent",
            "handoff": {
              "when": "none",
              "agent_responsibility": "Resolve the user's source-language plus target-language pair (e.g., Arabic to French) and judicial-district preference, query the SPF Justice sworn-translator register, and surface 2-3 candidate translators with their contact channels. The register is the binding source of who is officially recognised; non-registered translators are not accepted.",
              "user_responsibility": "Provide the source language of the document and a preferred target language (one of fr / nl / de).",
              "resumption": "Agent returns translator candidates; user contacts the translator directly to commission the sworn translation. Resume parent skill once translation is in hand."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Probed 2026-05-12: candidate URLs (justsearch.just.fgov.be, nrgct.just.fgov.be) returned 404 / connection-refused. The operator authority is confirmed: authorities.json identifies SPF Justice as operating the Registre national des traducteurs et interprètes jurés (id: spf-justice, description references it explicitly). The lookup channel exists per the federal procedural framework (Loi du 10 avril 2014 modifiée 2017 instituant un registre national); the current public URL needs operator..."
        },
        {
          "id": "diplomatie-sworn-translator-info-handoff",
          "source_class": "federal-auth-handoff",
          "audience": {
            "regions": [
              "federal"
            ],
            "predicates": []
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "deeplink-info-page",
            "url": "https://diplomatie.belgium.be/en/services/legalisation_of_documents",
            "post_auth_behavior": "informational-only"
          },
          "validation_path": {
            "kind": "agent-reaches-auth-wall-only",
            "success_signals": [
              {
                "check": "deeplink-reaches-auth-wall",
                "value": true
              },
              {
                "check": "redirect-chain-matches-pattern",
                "value": "^https://diplomatie\\.belgium\\.be/"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "404"
              },
              {
                "check": "redirects-to",
                "value": "/",
                "outcome": "redirect-to-unrelated-page"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 40,
          "actor": {
            "primary": "user",
            "handoff": {
              "when": "full-takeover",
              "agent_responsibility": "Provide the FPS Foreign Affairs translation-requirements page which describes which documents require sworn translation, the acceptable target languages per commune-region, and where to find translators. Explain the difference between sworn translation (juré/beëdigd) and certified translation (only sworn is accepted by Belgian civil-status counters).",
              "user_responsibility": "Read the page, decide on the target language (fr / nl / de depending on commune region), and proceed to the SPF Justice register or contact the translator directly.",
              "resumption": "User confirms when sworn translation is commissioned; agent resumes parent skill at the translation-completed checkpoint."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Probed 2026-05-12: HTTP 200 at diplomatie.belgium.be/en/services/legalisation_of_documents; the page bundles legalisation and translation context. Secondary channel to the primary justice.belgium.be register lookup; useful when the user reaches Be Civic via the legalisation context rather than the translator-search context."
        },
        {
          "id": "commune-translator-list-offline",
          "source_class": "offline",
          "audience": {
            "regions": [
              "federal"
            ],
            "predicates": []
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "commune-visit",
            "address": "User's commune État Civil counter (variable per commune; see commune-<NIS5> entries in data/communes.json)",
            "what_to_bring": [
              "the foreign document with apostille already affixed",
              "valid ID"
            ],
            "expected_outcome": "The État Civil officer hands the user a short list of recently-used sworn translators for the relevant language pair, or directs the user to the SPF Justice national register"
          },
          "validation_path": {
            "kind": "user-confirms",
            "success_signals": [
              {
                "check": "user-confirms-document-received",
                "value": true
              }
            ],
            "failure_signals": [
              {
                "check": "user-reports-document-refused",
                "value": "commune declines to suggest a translator",
                "outcome": "source-retired"
              },
              {
                "check": "commune-says-elsewhere",
                "value": "directed to SPF Justice register",
                "outcome": "source-retired"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 10,
          "actor": {
            "primary": "user",
            "handoff": {
              "when": "physical-presence",
              "agent_responsibility": "Provide the user's commune-of-residence État Civil counter address (resolved from user.commune_nis5 via data/communes.json), a short script for the request ('I have a foreign document with apostille; I need to commission a sworn translation. Can you give me the names of sworn translators you regularly accept for this language pair?'), and note that the commune is not obliged to maintain a list — many will direct the user to the SPF Justice register instead.",
              "user_responsibility": "Visit the commune service desk during opening hours and ask. Bring the document so the officer sees the source language and document type.",
              "resumption": "User reports back with the translator contact information or the SPF Justice search URL the officer provided. Resume at the translation-commissioning step."
            }
          },
          "fallback_only": true,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Offline fallback per graceful-degradation rule. Communes vary widely: some keep informal short-lists, others always defer to the SPF Justice register. Commune address resolved from data/communes.json at agent traversal time using user.commune_nis5."
        }
      ],
      "related_skills": [
        "consular-legalisation-foreign-document",
        "apostille-foreign-document-hague",
        "nationality-application",
        "f-visa-application",
        "marriage-registration"
      ],
      "uid": "pth-00016",
      "schema_version": 1,
      "version": "0.1.0",
      "status": "alpha",
      "origin": "be-civic",
      "last_verified": "2026-05-12",
      "category": "belgium-federal-justice"
    },
    "eu-1191-multilingual-form-lookup": {
      "id": "eu-1191-multilingual-form-lookup",
      "uid": "pth-00010",
      "title": {
        "fr": "Annuaire des formulaires multilingues UE 2016/1191",
        "nl": "Catalogus van meertalige standaardformulieren EU 2016/1191",
        "de": "Verzeichnis der mehrsprachigen Standardformulare EU 2016/1191",
        "en": "EU 2016/1191 multilingual standard form lookup"
      },
      "description": {
        "fr": "Portail e-Justice de l'Union européenne listant, par État membre, l'autorité émettrice et la procédure pour demander un formulaire type multilingue (annexes I–XI du règlement 2016/1191) à joindre à un acte public destiné à circuler dans l'UE sans apostille ni traduction jurée.",
        "nl": "E-Justice-portaal van de EU dat per lidstaat de afgevende autoriteit en de procedure vermeldt voor het aanvragen van een meertalig standaardformulier (bijlagen I–XI van Verordening 2016/1191) dat als bijlage bij een openbaar document binnen de EU circuleert zonder apostille of beëdigde vertaling.",
        "de": "E-Justice-Portal der EU mit länderbezogenen Angaben zur ausstellenden Behörde und zum Verfahren für die Beantragung eines mehrsprachigen Standardformulars (Anhänge I–XI der Verordnung 2016/1191) zur Beifügung zu einer öffentlichen Urkunde, die innerhalb der EU ohne Apostille und beglaubigte Übersetzung verkehren soll.",
        "en": "EU e-Justice portal listing, per member state, the issuing authority and procedure for requesting a multilingual standard form (Annexes I–XI of Regulation 2016/1191) to attach to a public document moving within the EU without apostille or sworn translation."
      },
      "themes": [
        "identity-civil-status",
        "justice-and-civic-life"
      ],
      "authority_id": "eur-lex",
      "schema_version": 1,
      "version": "0.1.0",
      "status": "alpha",
      "origin": "be-civic",
      "category": "eu-cross-border-civil-status",
      "purpose": "tool",
      "applies_to": {
        "audience_summary": "Anyone with a public document (civil-status, residence, criminal-record, etc.) issued by an EU member state OTHER than Belgium that must be presented to a Belgian administration; covered document..."
      },
      "outputs": [],
      "sources": [
        {
          "id": "ejustice-portal-public-documents-en",
          "source_class": "partner-portal",
          "audience": {
            "regions": [
              "brussels",
              "flanders",
              "wallonia",
              "german-community"
            ],
            "communes": [],
            "predicates": [
              {
                "field": "user.administration_language",
                "op": "in",
                "value": [
                  "en",
                  "fr",
                  "nl",
                  "de"
                ]
              }
            ]
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "varies-per-partner",
            "deeplink": "https://e-justice.europa.eu/551/EN/public_documents",
            "post_link_behavior": "agent-reads-catalog-selects-source-member-state-quotes-per-country-instructions"
          },
          "validation_path": {
            "kind": "varies-per-partner",
            "success_signals": [
              {
                "check": "page-text-contains",
                "value": "Public documents"
              },
              {
                "check": "page-text-contains",
                "value": "Multilingual standard forms"
              },
              {
                "check": "page-text-contains",
                "value": "2016/1191"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "source-retired"
              },
              {
                "check": "page-text-contains",
                "value": "Service temporarily unavailable",
                "outcome": "source-temporarily-down"
              }
            ],
            "user_confirms_required": false
          },
          "priority": 80,
          "actor": {
            "primary": "agent",
            "handoff": {
              "when": "none",
              "agent_responsibility": "Open the EU e-Justice catalog at e-justice.europa.eu/551, select the EU member state that issued the underlying public document, and read back the per-country procedure for requesting the multilingual standard form annex (which authority, what wait time, whether the form is issued together with the document or as a separate attachment, any fee).",
              "user_responsibility": "Confirm to the agent which EU member state issued the document and which document type it is (birth certificate, marriage certificate, criminal-record extract, residence, etc.) so the agent can pick the right annex (I through XI).",
              "resumption": "Agent quotes the per-country instructions; if the issuing authority accepts an online request, the agent provides that channel; otherwise the customer follows up directly with the foreign issuing authority. The Belgian-side acceptance check is handled by the sibling path belgian-acceptance-eu-1191-form."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Probed 2026-05-12 via WebFetch: HTTP 200, page title 'Public documents', success-signal strings 'Public documents', 'Multilingual standard forms', and '2016/1191' all matched in body. Country selector present (all 27 MS). Equivalent FR URL also probed (e-justice.europa.eu/551/FR/public_documents): HTTP 200, headings 'Documents publics' / 'Formulaires types multilingues' / 'le règlement 2016/1191' confirmed. Round-2 portal harvest did not catalog e-justice.europa.eu — added by walker."
        },
        {
          "id": "ejustice-portal-public-documents-fr",
          "source_class": "partner-portal",
          "audience": {
            "regions": [
              "brussels",
              "wallonia",
              "german-community"
            ],
            "communes": [],
            "predicates": [
              {
                "field": "user.administration_language",
                "op": "eq",
                "value": "fr"
              }
            ]
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "varies-per-partner",
            "deeplink": "https://e-justice.europa.eu/551/FR/public_documents",
            "post_link_behavior": "agent-reads-french-version-of-catalog-quotes-per-country-instructions-in-french"
          },
          "validation_path": {
            "kind": "varies-per-partner",
            "success_signals": [
              {
                "check": "page-text-contains",
                "value": "Documents publics"
              },
              {
                "check": "page-text-contains",
                "value": "Formulaires types multilingues"
              },
              {
                "check": "page-text-contains",
                "value": "2016/1191"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "source-retired"
              },
              {
                "check": "page-text-contains",
                "value": "Service indisponible",
                "outcome": "source-temporarily-down"
              }
            ],
            "user_confirms_required": false
          },
          "priority": 78,
          "actor": {
            "primary": "agent",
            "handoff": {
              "when": "none",
              "agent_responsibility": "Open the French-language EU e-Justice catalog at e-justice.europa.eu/551/FR/public_documents, select the issuing member state, read back per-country procedure in French for requesting the multilingual standard form (annexes I–XI of Reg. 2016/1191).",
              "user_responsibility": "Confirm the issuing member state and the document type so the agent can pick the right annex.",
              "resumption": "Agent quotes the procedure; customer follows up with the foreign issuing authority directly if a manual request is required."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Probed 2026-05-12 via WebFetch: HTTP 200, headings 'Documents publics', 'Formulaires types multilingues', and reference to 'le règlement 2016/1191' confirmed in body. Sibling-language source of -en variant; agent selects per user.administration_language."
        },
        {
          "id": "ejustice-portal-public-documents-offline",
          "source_class": "offline",
          "audience": {
            "regions": [
              "brussels",
              "flanders",
              "wallonia",
              "german-community"
            ],
            "communes": [],
            "predicates": []
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "email",
            "channel": "direct-contact-foreign-issuing-authority",
            "guidance": "Customer contacts the civil-registry or criminal-record office of the EU member state that issued the underlying document and asks for the document to be re-issued with the multilingual standard form (Annex I–XI of Reg. 2016/1191) attached, or for the form to be attached to an already-issued document. Each member state has its own channel — the EU e-Justice portal lists them; if the portal lookup failed, the fallback is searching the issuing country's national civil-registry portal directly."
          },
          "validation_path": {
            "kind": "user-confirms",
            "success_signals": [
              {
                "check": "user-confirms-document-received",
                "value": true
              }
            ],
            "failure_signals": [
              {
                "check": "user-reports-document-refused",
                "value": "issuing authority refused or could not attach the multilingual form",
                "outcome": "source-failed"
              },
              {
                "check": "user-reports-document-refused",
                "value": "document type not covered by Reg. 2016/1191 annexes",
                "outcome": "out-of-scope-for-regulation"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 10,
          "actor": {
            "primary": "user",
            "handoff": {
              "when": "physical-presence",
              "agent_responsibility": "Provide a plain-language script: 'Contact the civil-registry office (or criminal-record office) of the country that issued the document. Ask them to issue the document with the multilingual standard form attached, citing Regulation (EU) 2016/1191. Be ready to give the document type (birth, marriage, criminal record, etc.) and the date of the act.' Identify the right annex (I–XI) for the document type.",
              "user_responsibility": "Send the request (email or letter) to the issuing authority in the source EU member state; wait for the document to be re-issued or for the form attachment to be sent.",
              "resumption": "Customer tells the agent when the document with the attached form has arrived; agent confirms the form covers the document type and moves on to belgian-acceptance-eu-1191-form for the Belgian-side check."
            }
          },
          "fallback_only": true,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Offline fallback for when the EU e-Justice portal is unreachable or the per-country instructions are stale. The handoff is to a foreign authority, not a Belgian commune — physical-presence handoff value applies under the spec since the customer takes over entirely with a foreign administrative office (postal/email channel). No Belgian commune analogue is appropriate here; the form is issued in the source MS, never in Belgium for documents inbound to Belgium."
        }
      ],
      "related_skills": [
        "nationality-application",
        "f-visa-application",
        "marriage-registration"
      ],
      "last_verified": "2026-05-12"
    },
    "belgian-acceptance-eu-1191-form": {
      "id": "belgian-acceptance-eu-1191-form",
      "uid": "pth-00001",
      "title": {
        "fr": "Vérification de l'acceptation du formulaire UE 2016/1191 côté belge",
        "nl": "Verificatie van Belgische aanvaarding van het EU 2016/1191-formulier",
        "de": "Überprüfung der belgischen Anerkennung des Formulars EU 2016/1191",
        "en": "Belgian-side acceptance check for the EU 2016/1191 multilingual form"
      },
      "description": {
        "fr": "Confirme que l'administration belge destinataire (commune, DVZ, parquet) accepte un acte public d'un autre État membre de l'UE accompagné d'un formulaire type multilingue (règlement 2016/1191) sans apostille ni traduction jurée. La règle est uniforme depuis le 16 février 2019, mais l'agent vérifie côté commune en cas de doute documenté.",
        "nl": "Bevestigt dat de Belgische ontvangende administratie (gemeente, DVZ, parket) een openbaar document uit een andere EU-lidstaat met een meertalig standaardformulier (Verordening 2016/1191) aanvaardt zonder apostille of beëdigde vertaling. De regel geldt uniform sinds 16 februari 2019, maar de agent verifieert bij twijfel aan het gemeenteloket.",
        "de": "Bestätigt, dass die belgische empfangende Behörde (Gemeinde, DVZ, Staatsanwaltschaft) eine öffentliche Urkunde aus einem anderen EU-Mitgliedstaat mit beigefügtem mehrsprachigem Standardformular (Verordnung 2016/1191) ohne Apostille und beglaubigte Übersetzung akzeptiert. Die Regel gilt einheitlich seit dem 16. Februar 2019, der Agent überprüft jedoch bei dokumentierten Zweifeln am Gemeindeschalter.",
        "en": "Confirms that the Belgian receiving administration (commune, DVZ, public prosecutor) accepts a public document from another EU member state attached to a multilingual standard form (Reg. 2016/1191) without apostille and without sworn translation. The rule is uniform since 16 February 2019, but the agent verifies commune-side when documented doubt arises."
      },
      "themes": [
        "identity-civil-status",
        "justice-and-civic-life"
      ],
      "authority_id": "spf-justice",
      "schema_version": 1,
      "version": "0.1.0",
      "status": "alpha",
      "origin": "be-civic",
      "category": "belgium-federal-civil-status",
      "purpose": "check-only",
      "applies_to": {
        "audience_summary": "Anyone presenting an EU-issued public document (with multilingual standard form attached) to a Belgian administration — most commonly the commune État Civil for civil-status registration, DVZ for..."
      },
      "outputs": [],
      "sources": [
        {
          "id": "spf-justice-legalisations-page",
          "source_class": "federal-auth-handoff",
          "audience": {
            "regions": [
              "brussels",
              "flanders",
              "wallonia",
              "german-community"
            ],
            "communes": [],
            "predicates": []
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "agent-reaches-auth-wall-only",
            "deeplink": "https://justice.belgium.be/fr/themes_et_dossiers/personnes_et_familles/etat_civil",
            "post_link_behavior": "agent-quotes-relevant-section-customer-reads",
            "expected_response_type": "text/html"
          },
          "validation_path": {
            "kind": "agent-reaches-auth-wall-only",
            "success_signals": [
              {
                "check": "deeplink-reaches-auth-wall",
                "value": true
              },
              {
                "check": "redirect-chain-matches-pattern",
                "value": "^https://justice\\.belgium\\.be/(fr|nl|de)/themes_et_dossiers/"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "source-retired"
              },
              {
                "check": "redirects-to",
                "value": "/error",
                "outcome": "redirect-to-unrelated-page"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 60,
          "actor": {
            "primary": "user",
            "handoff": {
              "when": "full-takeover",
              "agent_responsibility": "Open the SPF Justice État Civil thematic page, quote the Belgian-side acceptance rule for EU 2016/1191 multilingual forms (regulation applies directly since 16 February 2019; no apostille and no sworn translation needed for covered document types) and the citation to Reg. 2016/1191 articles 6 and 8 covering the form attachment.",
              "user_responsibility": "If the commune front-desk staff express doubt, the customer brings the printed reference to the desk and asks for the commune's État Civil officer (officier de l'état civil). The form attachment is to be accepted as-is for the document types in Annexes I–XI; the commune may not require apostille or sworn translation.",
              "resumption": "Customer tells the agent whether the commune accepted the document; if rejected, the agent surfaces the failure as a §11 observation candidate and offers to file a procedural complaint route as a separate skill."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Probed 2026-05-12 via WebFetch on the related diplomatie.belgium.be legalisations page: page does NOT mention EU 2016/1191 explicitly (it discusses only general legalisation requirements). This is itself a signal — the Belgian-side documentation surfaces of the regulation are thin, which reinforces that this path is informational and the failure mode 'commune staff unaware of regulation' is real. SPF Justice État Civil page itself is the closest official Belgian-side authority surface..."
        },
        {
          "id": "eur-lex-reg-2016-1191-text",
          "source_class": "partner-portal",
          "audience": {
            "regions": [
              "brussels",
              "flanders",
              "wallonia",
              "german-community"
            ],
            "communes": [],
            "predicates": []
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "varies-per-partner",
            "deeplink": "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32016R1191",
            "post_link_behavior": "agent-fetches-regulation-text-cites-articles-6-and-8-for-form-attachment-and-translation-rules"
          },
          "validation_path": {
            "kind": "varies-per-partner",
            "success_signals": [
              {
                "check": "page-text-contains",
                "value": "Regulation (EU) 2016/1191"
              },
              {
                "check": "page-text-contains",
                "value": "multilingual standard form"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "source-retired"
              },
              {
                "check": "page-text-contains",
                "value": "Document not available",
                "outcome": "source-temporarily-down"
              }
            ],
            "user_confirms_required": false
          },
          "priority": 70,
          "actor": {
            "primary": "agent",
            "handoff": {
              "when": "none",
              "agent_responsibility": "Fetch the consolidated text of Reg. 2016/1191 on EUR-Lex; cite articles 6 (no legalisation/apostille requirement for covered documents) and 7–8 (multilingual standard form may be attached at the request of the holder; the receiving authority accepts it without translation).",
              "user_responsibility": "None — agent quotes the legal basis.",
              "resumption": "Agent uses the citation to back the Belgian-side acceptance claim if commune staff express doubt."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Probed indirectly: eur-lex.europa.eu CELEX:32016R1191 URL is already cited in canonical.md frontmatter references[] with last_verified 2026-04-27; URL is in outbound-merged.json domain list. Live re-probe not run to avoid duplicate fetches; canonical references field is the freshness-of-record source. Authoritative legal basis surface used by the agent to back the Belgian-acceptance claim."
        },
        {
          "id": "commune-desk-eu-1191-acceptance",
          "source_class": "offline",
          "audience": {
            "regions": [
              "brussels",
              "flanders",
              "wallonia",
              "german-community"
            ],
            "communes": [],
            "predicates": []
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "commune-visit",
            "what_to_bring": "Foreign public document with EU 2016/1191 multilingual form attached; printed copy of the relevant Annex header (I–XI) showing the form covers the document type at hand; the EUR-Lex link to Reg. 2016/1191 articles 6–8 if the agent has provided it.",
            "what_to_ask": "Request that the commune État Civil officer accept the document with the multilingual form as-is, citing Regulation 2016/1191 of 6 July 2016 (in force since 16 February 2019).",
            "expected_fee": "Free for acceptance check; commune-specific fees may apply for downstream transcription of foreign civil-status acts to BAEC (separate procedure).",
            "expected_wait_time": "Front-desk turnaround typically immediate to one working day; if escalated to the officier de l'état civil for review, 1–2 weeks."
          },
          "validation_path": {
            "kind": "user-confirms",
            "success_signals": [
              {
                "check": "user-confirms-document-received",
                "value": true
              }
            ],
            "failure_signals": [
              {
                "check": "user-reports-document-refused",
                "value": "commune asked for apostille despite EU 2016/1191 form attached",
                "outcome": "commune-staff-unaware-of-regulation"
              },
              {
                "check": "user-reports-document-refused",
                "value": "commune asked for sworn translation despite multilingual form",
                "outcome": "commune-staff-unaware-of-regulation"
              },
              {
                "check": "commune-says-elsewhere",
                "value": "commune referred customer to parquet or SPF Justice for acceptance",
                "outcome": "internal-escalation"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 10,
          "actor": {
            "primary": "user",
            "handoff": {
              "when": "physical-presence",
              "agent_responsibility": "Brief the customer on the Belgian-acceptance rule in plain language: since 16 February 2019, the Belgian commune État Civil must accept any covered public document (Annexes I–XI of Reg. 2016/1191) from another EU member state with the multilingual standard form attached — no apostille and no sworn translation. Provide the customer with the relevant Annex page from the EU e-Justice portal and a one-paragraph script citing the regulation.",
              "user_responsibility": "Bring the document with the form to the commune; if the front-desk staff express doubt, ask politely to speak with the officier de l'état civil and present the printed citation.",
              "resumption": "Customer tells the agent the outcome. If accepted: agent records and moves on. If refused: agent records the refusal as a §11 failure-mode observation candidate and offers procedural escalation paths."
            }
          },
          "fallback_only": true,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Offline fallback for the commune-side acceptance check. The communes.json structural reference is used as a no-op here: the predicate set is empty because acceptance applies uniformly across all 581 Belgian communes. Failure-mode signals capture the documented 'commune staff unaware of regulation' pattern, which is the main practical risk the regulation has not eliminated. Documenting this offline source explicitly satisfies the graceful-degradation requirement; offline is the..."
        }
      ],
      "related_skills": [
        "nationality-application",
        "f-visa-application",
        "marriage-registration"
      ],
      "last_verified": "2026-05-12"
    },
    "casier-judiciaire-belgian": {
      "id": "casier-judiciaire-belgian",
      "uid": "pth-00004",
      "title": {
        "fr": "Extrait de casier judiciaire",
        "nl": "Uittreksel uit het strafregister",
        "de": "Auszug aus dem Strafregister",
        "en": "Criminal record extract (Belgian)"
      },
      "description": {
        "fr": "Extrait du casier judiciaire central délivré par le SPF Justice via la commune de résidence ou en ligne. Trois variantes existent: modèle 1 (usage général, art. 595 CIC), modèle 2 (activités impliquant des mineurs, art. 596 al. 2), et modèle 596 al. 1 (professions réglementées). Le citoyen précise la variante au guichet ou dans le formulaire en ligne.",
        "nl": "Uittreksel uit het centraal strafregister, afgeleverd door FOD Justitie via de gemeente van inschrijving of online. Drie varianten bestaan: model 1 (algemeen gebruik, art. 595 Sv.), model 2 (activiteiten met minderjarigen, art. 596 lid 2), en model 596 lid 1 (gereglementeerde beroepen). De aanvrager specificeert de variant aan het loket of in het online formulier.",
        "de": "Auszug aus dem zentralen Strafregister, ausgestellt vom FÖD Justiz über die Wohnsitzgemeinde oder online. Drei Varianten: Modell 1 (allgemeiner Gebrauch, Art. 595 StPGB), Modell 2 (Tätigkeiten mit Minderjährigen, Art. 596 Abs. 2) und Modell 596 Abs. 1 (reglementierte Berufe).",
        "en": "Extract from the central criminal record, issued by SPF Justice via the commune of residence or online. Three variants exist: model 1 (general use, art. 595 CIC), model 2 (activities involving minors, art. 596 §2), and model 596 §1 (regulated professions). The applicant specifies the variant at the desk or in the online form."
      },
      "themes": [
        "justice-and-civic-life"
      ],
      "authority_id": "spf-justice",
      "schema_version": 1,
      "version": "0.1.0",
      "status": "alpha",
      "origin": "be-civic",
      "category": "belgium-federal-justice",
      "purpose": "submission",
      "applies_to": {
        "residency_status": [
          "registered_resident",
          "long_term_resident",
          "eu_citizen",
          "eea_citizen",
          "swiss_citizen",
          "family_reunification",
          "single_permit",
          "student",
          "deregistered_or_abroad"
        ],
        "audience_summary": "any natural person needing a Belgian criminal record extract for employment, nationality, residency, foreign authority, or regulated-profession purposes"
      },
      "outputs": [
        {
          "name": "criminal_record_extract",
          "type": "document_artefact"
        }
      ],
      "sources": [
        {
          "id": "irisbox-brussels-tier1-casier-judiciaire",
          "source_class": "brussels-tier1-quicklink",
          "audience": {
            "regions": [
              "brussels"
            ],
            "communes": [
              "all-19-rbc-communes"
            ],
            "predicates": [
              {
                "field": "user.region",
                "op": "eq",
                "value": "Brussels-Capital"
              }
            ]
          },
          "auth": {
            "method": "csam",
            "supported_providers": [
              "itsme",
              "eid",
              "mygov.be",
              "smart-id",
              "security-code",
              "eidas"
            ]
          },
          "procedure": {
            "kind": "deeplink-after-auth",
            "deeplink": "https://irisbox.irisnet.be/irisbox/my-box/criminal-record/request",
            "post_auth_behavior": "server-generates-pdf-streams-as-download",
            "expected_response_type": "application/pdf",
            "captcha": false,
            "delivery_mode": "sync-pdf-download",
            "estimated_seconds": 30
          },
          "validation_path": {
            "kind": "agent-driven-headed-with-user-auth",
            "success_signals": [
              {
                "check": "response-content-type-includes",
                "value": "application/pdf"
              },
              {
                "check": "downloaded-bytes-start-with",
                "value": "%PDF"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "source-retired"
              },
              {
                "check": "page-text-contains",
                "value": "Service indisponible",
                "outcome": "source-temporarily-down"
              },
              {
                "check": "redirects-to",
                "value": "/irisbox/$",
                "outcome": "auth-rejected-or-deeplink-changed"
              }
            ],
            "user_confirms_required": false
          },
          "priority": 90,
          "actor": {
            "primary": "both",
            "handoff": {
              "when": "auth-wall",
              "agent_responsibility": "I'll give you the direct Irisbox quicklink that generates your casier judiciaire extract as a PDF after authentication. I'll explain which authentication method (itsme is fastest) and what to expect on the auth wall.",
              "user_responsibility": "Click the link, authenticate with itsme or your eID, accept the consent screen if shown, and wait ~30 seconds for the PDF to download. Save the file to your Be Civic folder and tell me 'got it'.",
              "resumption": "Once you say 'got it', I'll record the extract in your procedure progress and confirm the source worked. If the download didn't appear, tell me what you saw on screen and I'll diagnose."
            }
          },
          "fallback_only": false,
          "preferred_auth_provider": "itsme",
          "audited_document_delivery": true,
          "post_handoff_observed": false,
          "notes": "Sourced from be-civic-irisbox/irisbox-manifest.json quickLinks.criminalRecord[0]; also matches citizen[81] entry tier 1. Audited Tier-1; not probed per §24.9 invariant 3. Each invocation generates a real document delivery — explicit consent required."
        },
        {
          "id": "irisbox-brussels-tier2-inquiry-casier-judiciaire",
          "source_class": "brussels-tier2-inquiry",
          "audience": {
            "regions": [
              "brussels"
            ],
            "communes": [
              "21006",
              "21009",
              "21015",
              "21016",
              "21018"
            ],
            "predicates": [
              {
                "field": "user.region",
                "op": "eq",
                "value": "Brussels-Capital"
              },
              {
                "field": "user.commune_nis5",
                "op": "in",
                "value": [
                  "21006",
                  "21009",
                  "21015",
                  "21016",
                  "21018"
                ]
              }
            ]
          },
          "auth": {
            "method": "csam",
            "supported_providers": [
              "itsme",
              "eid"
            ]
          },
          "procedure": {
            "kind": "form-fill-after-auth",
            "url_template": "https://irisbox.irisnet.be/irisbox/inquiries/<business_key>/add?context=citizen",
            "requires_commune_param": true,
            "business_keys_by_commune": {
              "21009": "5ce519ec7ddb4076b7dc62877de4ee7158221628",
              "21016": "af36711c1f38420fb5bcb27682d3b69158221628",
              "21018": "f56a407820e54f7c97f305635829dc9c58221628"
            },
            "payable": true,
            "delivery_mode": "async-commune-delivery",
            "estimated_seconds": 600
          },
          "validation_path": {
            "kind": "agent-driven-headed-with-user-auth",
            "success_signals": [
              {
                "check": "page-text-contains",
                "value": "Demande enregistrée"
              },
              {
                "check": "form-submitted-successfully",
                "value": true
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "source-retired"
              },
              {
                "check": "page-text-contains",
                "value": "Formulaire indisponible",
                "outcome": "form-not-found"
              },
              {
                "check": "page-text-contains",
                "value": "Service indisponible",
                "outcome": "source-temporarily-down"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 70,
          "actor": {
            "primary": "both",
            "handoff": {
              "when": "auth-wall",
              "agent_responsibility": "I'll select the right Irisbox inquiry-form URL for your commune (Woluwe-Saint-Lambert, Jette, Uccle, Ixelles, or Schaerbeek), share the link, and walk you through the form fields once you're authenticated.",
              "user_responsibility": "Click the link, authenticate via itsme or eID, then I'll guide you through the form. You'll need to confirm submission and pay the commune fee (typically EUR 5-10). Tell me when you've received the email confirmation.",
              "resumption": "Once you confirm 'submitted', I'll mark the source as accepted and your commune will email or post the PDF within a few business days. If you never receive it, tell me and we'll fall back to a commune visit."
            }
          },
          "fallback_only": false,
          "preferred_auth_provider": "itsme",
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Sourced from be-civic-irisbox/irisbox-manifest.json entries citizen[214] (WSL), [241] (JET), [280] (UCL). businessKey values are stable per commune. Not probed: each business-key fetch would trigger an Orbeon form load and could be misclassified as a real inquiry. Manifest harvest is the structural source. Five Brussels communes confirmed; the remaining 14 RBC communes fall through to the offline source."
        },
        {
          "id": "justonweb-federal-judicial-file-handoff",
          "source_class": "federal-auth-handoff",
          "audience": {
            "regions": [
              "federal"
            ],
            "communes": [],
            "predicates": [
              {
                "field": "user.document_inventory.has_eID",
                "op": "eq",
                "value": true
              }
            ]
          },
          "auth": {
            "method": "csam",
            "supported_providers": [
              "itsme",
              "eid",
              "mygov.be",
              "smart-id",
              "security-code",
              "eidas"
            ]
          },
          "procedure": {
            "kind": "deeplink-handoff",
            "deeplink_fr": "https://justonweb.be/fr/judicial-file/request-access",
            "deeplink_nl": "https://justonweb.be/nl/judicial-file",
            "deeplink_landing_fr": "https://justonweb.be/fr/judicial-file",
            "operated_by": "FPS Justice",
            "handoff_only": true,
            "post_auth_behavior": "user-navigates-judicial-file-self-service",
            "estimated_seconds": 300
          },
          "validation_path": {
            "kind": "agent-reaches-auth-wall-only",
            "success_signals": [
              {
                "check": "deeplink-reaches-auth-wall",
                "value": true
              },
              {
                "check": "redirect-chain-matches-pattern",
                "value": "csam\\.be|iamapps\\.belgium\\.be"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "source-retired"
              },
              {
                "check": "redirects-to",
                "value": "/error",
                "outcome": "redirect-to-unrelated-page"
              },
              {
                "check": "page-text-contains",
                "value": "indisponible",
                "outcome": "source-retired"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 75,
          "actor": {
            "primary": "user",
            "handoff": {
              "when": "full-takeover",
              "agent_responsibility": "I'll provide the Just-on-Web judicial-file deeplink (FR or NL based on your administration language) plus plain-English instructions on what to expect after CSAM/itsme authentication. I'll explain that you select 'Request access to your judicial file' and choose model 1, 2, or 596 depending on your purpose (employment, contact with minors, regulated profession).",
              "user_responsibility": "Click the link, authenticate with itsme or your eID at the CSAM wall, choose the model that matches your purpose, fill the request form, and download or wait for the PDF. The service is operated nationally by FPS Justice and works whether you live in Brussels, Flanders, or Wallonia, or are deregistered.",
              "resumption": "Once you have the PDF (or receive it by post / federal eBox), tell me and I'll record the outcome. If Just-on-Web rejected the request or asked you to visit your commune, tell me what message you saw and we'll route to the commune source."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Probed 2026-05-12: HTTP 200, French landing page heading 'Dossier judiciaire' confirmed; auth-wall text 'Identifiez-vous ci-dessous pour commencer' matched; Dutch version at /nl/judicial-file also live with heading 'Gerechtelijk dossier'. Sourced from be-civic-federal/federal-catalog.json authGated[4]. National coverage — only federal channel that works for citizens who have moved abroad / been deregistered."
        },
        {
          "id": "vlaanderen-strafregister-info-page",
          "source_class": "flanders-api-page",
          "audience": {
            "regions": [
              "flanders"
            ],
            "communes": [],
            "predicates": [
              {
                "field": "user.region",
                "op": "eq",
                "value": "Flemish"
              }
            ]
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "api-fetch",
            "url": "https://www.vlaanderen.be/uittreksel-uit-het-strafregister",
            "api_endpoint": "https://www.vlaanderen.be/api/siteapi/page?path=/uittreksel-uit-het-strafregister",
            "extract_fields": [
              "procedural_instructions",
              "routing_to_burgerprofiel",
              "commune_routing"
            ]
          },
          "validation_path": {
            "kind": "agent-driven-headless",
            "success_signals": [
              {
                "check": "api-returns-200",
                "value": 200
              },
              {
                "check": "json-path-resolves",
                "value": "$.data.title"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "source-retired"
              },
              {
                "check": "api-shape-changed",
                "value": "siteapi-schema-mismatch",
                "outcome": "api-shape-changed"
              },
              {
                "check": "page-text-contains",
                "value": "tijdelijk onbeschikbaar",
                "outcome": "source-temporarily-down"
              }
            ],
            "user_confirms_required": false
          },
          "priority": 65,
          "actor": {
            "primary": "agent",
            "handoff": {
              "when": "none",
              "agent_responsibility": "I'll fetch the Vlaanderen.be strafregister page via the typed siteapi endpoint, summarise the procedural instructions in plain Dutch (or your administration language), and surface the two channels it offers: online via Mijn Burgerprofiel attestenpagina, or in person at your gemeente.",
              "user_responsibility": "Read the summary I quote; choose whether to try Mijn Burgerprofiel first or go directly to your gemeente.",
              "resumption": "If you pick Mijn Burgerprofiel, I'll route to the burgerprofiel-attesten source (separate). If you pick gemeente, I'll route to the offline source with your commune details."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Probed 2026-05-12: HTTP 200, page exists with heading 'Uittreksel uit het strafregister'; routing language quoted from page ('online via de attestenpagina van Mijn Burgerprofiel' / 'in de gemeente waar u in het bevolkingsregister bent ingeschreven'). Page also lists federal exception cases (no Belgian residence, legal entity, judicial authority) routing to FPS Justice. Note: Vlaanderen.be is informational/routing — it does not deliver the document. Customers route from here to Just-on-Web or..."
        },
        {
          "id": "mijn-burgerprofiel-attesten-flanders",
          "source_class": "federal-auth-handoff",
          "audience": {
            "regions": [
              "flanders"
            ],
            "communes": [],
            "predicates": [
              {
                "field": "user.region",
                "op": "eq",
                "value": "Flemish"
              },
              {
                "field": "user.document_inventory.has_eID",
                "op": "eq",
                "value": true
              }
            ]
          },
          "auth": {
            "method": "csam",
            "supported_providers": [
              "itsme",
              "eid"
            ]
          },
          "procedure": {
            "kind": "deeplink-handoff",
            "deeplink": "https://www.burgerprofiel.be/",
            "attestenpagina_label": "Attesten en toelatingen",
            "post_auth_behavior": "user-locates-strafregister-attest-via-attestenpagina",
            "estimated_seconds": 600,
            "availability_caveat": "Per-commune availability varies; not every Flemish gemeente exposes strafregister via Mijn Burgerprofiel attestenflow"
          },
          "validation_path": {
            "kind": "agent-reaches-auth-wall-only",
            "success_signals": [
              {
                "check": "deeplink-reaches-auth-wall",
                "value": true
              },
              {
                "check": "redirect-chain-matches-pattern",
                "value": "burgerprofiel\\.be|csam\\.be"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "source-retired"
              },
              {
                "check": "redirects-to",
                "value": "/error",
                "outcome": "redirect-to-unrelated-page"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 60,
          "actor": {
            "primary": "user",
            "handoff": {
              "when": "full-takeover",
              "agent_responsibility": "I'll provide the Mijn Burgerprofiel deeplink and instructions: sign in with itsme/eID, open 'Attesten en toelatingen', and look for 'Uittreksel uit het strafregister' (only available if your gemeente exposes it). If your gemeente isn't connected, you'll fall through to the gemeente desk.",
              "user_responsibility": "Sign in to Mijn Burgerprofiel, navigate to attesten, look for the strafregister entry. If present, request the variant (model 1 / model 2 / model 596). If absent, close the tab and tell me — I'll route to your gemeente.",
              "resumption": "Tell me 'got it' once you've received the PDF (some communes deliver instantly, others within 1-3 business days). If the attest isn't offered, say 'not available' and I'll switch to the commune-visit source."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Probed 2026-05-12: HTTP 200 with redirect burgerprofiel.vlaanderen.be -> www.burgerprofiel.be; 'Attesten en toelatingen' section confirmed in navigation; strafregister-specific entry not surfaced from the unauthenticated landing (gated behind eID auth + per-commune feature flag). Vlaanderen.be strafregister page references this channel as 'attestenpagina van Mijn Burgerprofiel'. Per-commune availability varies; offline fallback always applies."
        },
        {
          "id": "wallonia-portal-info-page",
          "source_class": "wallonia-sitemap-page",
          "audience": {
            "regions": [
              "wallonia"
            ],
            "communes": [],
            "predicates": [
              {
                "field": "user.region",
                "op": "eq",
                "value": "Walloon"
              }
            ]
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "sitemap-fetch",
            "url": "https://www.wallonie.be/fr/demarches/obtenir-un-extrait-de-casier-judiciaire",
            "sitemap_path": "/fr/demarches/obtenir-un-extrait-de-casier-judiciaire",
            "extract_fields": [
              "procedural_instructions",
              "commune_routing",
              "uvcw_directory_link"
            ]
          },
          "validation_path": {
            "kind": "agent-driven-headless",
            "success_signals": [
              {
                "check": "sitemap-contains-path",
                "value": "/fr/demarches/obtenir-un-extrait-de-casier-judiciaire"
              },
              {
                "check": "page-loads-200",
                "value": 200
              },
              {
                "check": "page-text-contains",
                "value": "Obtenir un extrait de casier judiciaire"
              }
            ],
            "failure_signals": [
              {
                "check": "response-status",
                "value": "404",
                "outcome": "source-retired"
              },
              {
                "check": "sitemap-entry-removed",
                "value": "missing-from-sitemap",
                "outcome": "sitemap-entry-removed"
              },
              {
                "check": "page-text-contains",
                "value": "indisponible",
                "outcome": "source-temporarily-down"
              }
            ],
            "user_confirms_required": false
          },
          "priority": 65,
          "actor": {
            "primary": "agent",
            "handoff": {
              "when": "none",
              "agent_responsibility": "I'll fetch the Wallonie.be page summarising the procedure: the Walloon portal explicitly routes citizens to their administration communale. I'll surface the UVCW directory link (https://www.uvcw.be/fiches-locales/) so you can locate your commune's casier-judiciaire desk, and I'll quote the federal SPF Justice fallback for non-residents and legal entities.",
              "user_responsibility": "Read what I quote. Choose to either visit your commune (offline source) or, if you can authenticate, try Just-on-Web (federal handoff source).",
              "resumption": "Tell me which channel you want to try. I'll route to the offline source for commune visit, or to the federal handoff for Just-on-Web."
            }
          },
          "fallback_only": false,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Probed 2026-05-12: HTTP 200, page heading 'Obtenir un extrait de casier judiciaire' matched; commune-routing language confirmed ('vous devez vous présenter à votre administration communale'). UVCW directory cross-link verified. Sourced from be-civic-wallonia/wallonia-catalog.json entries[864]. Wallonia does NOT operate its own online delivery surface for casier judiciaire; the portal is purely informational/routing."
        },
        {
          "id": "commune-visit-fallback",
          "source_class": "offline",
          "audience": {
            "regions": [],
            "communes": [],
            "predicates": [
              {
                "field": "user.commune_nis5",
                "op": "exists",
                "value": true
              }
            ]
          },
          "auth": {
            "method": "none",
            "supported_providers": []
          },
          "procedure": {
            "kind": "commune-visit",
            "service_desk": "casier judiciaire / strafregister / Strafregister",
            "documents_to_bring": [
              "Belgian eID card (carte d'identité électronique / elektronische identiteitskaart)"
            ],
            "expected_fee_eur_range": "0-10",
            "expected_wait_minutes_range": "5-30",
            "delivery_mode": "in-person or postal/email follow-up",
            "fr_request_phrasing": "Bonjour, je voudrais obtenir un extrait de casier judiciaire, modèle [1 / 2 / 596 al. 1] pour [employeur / nationalité / autorité étrangère / profession réglementée].",
            "nl_request_phrasing": "Goedemiddag, ik zou graag een uittreksel uit het strafregister krijgen, model [1 / 2 / 596 lid 1] voor [werkgever / nationaliteit / buitenlandse overheid / gereglementeerd beroep].",
            "de_request_phrasing": "Guten Tag, ich möchte einen Auszug aus dem Strafregister, Modell [1 / 2 / 596 Abs. 1] für [Arbeitgeber / Staatsangehörigkeit / ausländische Behörde / reglementierten Beruf] erhalten."
          },
          "validation_path": {
            "kind": "user-confirms",
            "success_signals": [
              {
                "check": "user-confirms-document-received",
                "value": true
              }
            ],
            "failure_signals": [
              {
                "check": "user-reports-document-refused",
                "value": "commune declined or routed elsewhere",
                "outcome": "commune-says-elsewhere"
              },
              {
                "check": "user-reports-document-refused",
                "value": "additional documents required",
                "outcome": "commune-says-elsewhere"
              }
            ],
            "user_confirms_required": true
          },
          "priority": 10,
          "actor": {
            "primary": "user",
            "handoff": {
              "when": "physical-presence",
              "agent_responsibility": "I'll give you your commune's casier judiciaire / strafregister desk address (population register office, état civil / burgerzaken), the exact phrasing to ask for in your administration language (FR/NL/DE), the document to bring (your Belgian eID), the typical fee (EUR 0-10), and what the desk will ask you (purpose: employment, nationality, foreign authority, regulated profession; which model: 1, 2, or 596 al. 1). For non-Brussels communes, I'll point you at the UVCW directory or...",
              "user_responsibility": "Visit your commune's état civil / burgerzaken desk during opening hours. Present your eID, state the request using the phrasing I provided, specify the model and purpose, pay any fee, and collect the extract (most communes issue on-the-spot via federal portal access; some send by post within 1-3 business days).",
              "resumption": "Tell me 'got it' once the extract is in hand. If the commune refused or routed you to SPF Justice (e.g., because you are deregistered or requesting as a legal entity), tell me what they said and I'll switch to the Just-on-Web federal handoff source."
            }
          },
          "fallback_only": true,
          "audited_document_delivery": false,
          "post_handoff_observed": false,
          "notes": "Universal fallback. Per the 2018 digital reform, most communes issue extracts on-the-spot via federal portal access. Per SPF Justice (probed 2026-05-12): primary route is 'Demandez l'extrait à votre commune'. Postal/in-person alternative at Casier judiciaire central (Boulevard de Waterloo 115, 1000 Brussels) is reserved for non-residents, legal entities, and judicial authorities; surface as sub-option if commune declines. Authority contact details on justice.belgium.be."
        }
      ],
      "related_skills": [
        "criminal-record-extract-model-1",
        "criminal-record-extract-model-2",
        "criminal-record-extract-596-1",
        "criminal-record-extract-596-2",
        "nationality-application"
      ],
      "last_verified": "2026-05-12"
    }
  }
}
