How the number is built and checked
The number has eleven digits: the birth date as YYMMDD, a three-digit serial for people registered with the same birth date (001–997, odd, for men; 002–998, even, for women) and a two-digit key. IBZ's example is 42.01.22 051-81, a man born on 22 January 1942. [1]
The key is 97 minus the remainder of the nine-digit number (birth date and serial) divided by 97. For the example, 420122051 mod 97 = 16, and 97 − 16 = 81. For people born from 1 January 2000, a 2 is put in front of the nine digits before dividing, so the same nine digits get a different key in the two centuries — that is how the key tells 1905 from 2005. [1]
When only part of the birth date is known, the missing month or day is written 00 (IBZ's example: 40 00 00 953-81); if every serial for such a date is used up, the day becomes 01, 02 and so on. A number assigned with a wrong sex or birth date is cancelled and a new one assigned; a number is never reused. [1]
nullcipher accepts the eleven digits bare or with the usual dots and dashes (42.01.22-051.81, 42.01.22 051-81), checks the key for both centuries and the date (00 allowed), and masks the number only when rijksregisternummer, numéro de registre national, national number, INSZ or NISS stands within 40 characters before it. About one random number in 97 has a matching key.
How nullcipher recognises it
YYMMDD, a three-digit serial (001–997 odd for men, 002–998 even for women) and the two-digit key 97 − (the nine digits mod 97), computed with a 2 in front of the nine digits for people born from 2000. Written as eleven digits, as 42.01.22-051.81 or as 42.01.22 051-81. The date must be real, except that a month or day of 00 (part of the birth date unknown) is accepted. Masked with a context word — rijksregisternummer, numéro de registre national, national number, INSZ, NISS — within 40 characters before it.
This is the rule text of the “Belgian national register number” detector in the masking engine, copied from the engine when this page was built. Detectors run in a fixed order and, where two overlap, the earlier one wins.
Example (fake)
Rijksregisternummer 42.01.22 051-81
nullcipher replaces it with [BE_RRN_1]. This is IBZ's own example from its instruction on the number, for a man born on 22 January 1942.
Why it matters in an AI chat
The number gives away the birth date and the sex (from the odd or even serial), and it is the key under which the National Register keeps a person's file. Anyone pasting an HR file, an insurance claim or a letter from a Belgian authority is likely to paste it too.
IBZ only replaces a number when the sex or birth date was recorded wrongly, and a number is never given to anyone else. A leak is not a reason for a new one, so the defence is to watch who uses it.
Masked, the AI sees [BE_RRN_1] and can still help with the rest of the text.
If it already leaked
- If your identity card or passport went missing with it, block the document through DOC STOP: 00800 2123 2123, free from anywhere, 24 hours a day (+32 2 488 2123 where the 00800 number does not work). From then on a check on checkdoc.be gives a hit, which stops the document being used to rent a car, buy by post or take a loan in your name. Then apply for a new document. [2]
- In Mijn DOSSIER (with your eID, a card reader and your PIN) you can check your data in the National Register, report errors, and see which organisations consulted your data in the last six months. [3]
- If it only went into an AI chat and there is no sign of misuse, delete the conversation — how, for each major assistant, is on the page listing every type. The number itself stays the same, so the steps above are about noticing and blocking misuse.
Sources
- IT000 Rijksregisternummer (instruction, version 15.05.2016) — FOD Binnenlandse Zaken, Rijksregister — checked 2026-10-03.
- DOC STOP — FOD Binnenlandse Zaken, Identiteit en Burgerzaken — checked 2026-10-03.
- Mijn DOSSIER — FOD Binnenlandse Zaken, Identiteit en Burgerzaken — checked 2026-10-03.
Open the full masking tool to mask a whole log, .env file or e-mail — every type at once — and restore the values in the AI's answer. Or see all 242 detectors, with a page for 59 secret types, and how to delete a chat you already sent.