nullcipher

Austrian social insurance numbers (Versicherungsnummer, SVNR)

A three-digit serial, a mod-11 check digit and (usually) the birth date. Masked after a context word. Below: the exact rule, a live check, why it matters, and what to do if one already leaked.

Live check: Austrian social insurance number

What an AI chat would receive after masking

Versicherungsnummer [AT_SVNR_1]

1 × Austrian social insurance number found and masked.

How the number is built and checked

The Versicherungsnummer has ten digits: a serial of three digits that never starts with 0, a check digit, and six digits that are usually the birth date as DDMMYY. The Dachverband's example is serial 782 for someone born on 28 July 1955: 7829 28 07 55. [1]

The check digit: multiply the serial by 3, 7, 9 and the date by 5, 8, 4, 2, 1, 6, add, and divide by 11; the remainder is the check digit. For the example 21 + 56 + 18 + 10 + 64 + 0 + 14 + 5 + 30 = 218, and 218 mod 11 = 9. Serials that would give a remainder of 10 are not issued. [1]

The date part is not always a real date. When the serials for popular dates (1 January, 1 July) ran out in some years, people were given artificial dates such as the 1st of month 13 or 14 of their year. nullcipher accepts months 13–19 with any day 01–31, as well as real dates. [1]

One random number in eleven has the right check digit, so nullcipher masks it only when Versicherungsnummer, Sozialversicherungsnummer, SVNR, SV-Nummer or VSNR stands within 40 characters before it.

How nullcipher recognises it

Ten digits, written 7829 280755 or 7829 28 07 55: a three-digit serial not starting with 0, the check digit, and DDMMYY — usually the birth date, but months 13 and up (to 19 here) are given when a date’s serials run out. The check digit is (serial times 3 7 9, date times 5 8 4 2 1 6) summed mod 11; remainder 10 is never issued. Masked with a context word — Versicherungsnummer, Sozialversicherungsnummer, SVNR, SV-Nummer, VSNR — within 40 characters before it.

This is the rule text of the “Austrian social insurance 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)

Versicherungsnummer 7829 28 07 55

nullcipher replaces it with [AT_SVNR_1]. This is the Dachverband der Sozialversicherungsträger's own worked example (serial 782, birth date 28 July 1955).

Why it matters in an AI chat

The number identifies a person throughout Austrian social insurance and in most cases carries the exact birth date, so next to a masked name it still points at one person.

The Bundeskriminalamt warns that criminals use details such as name, address and birth date to take over accounts, sign contracts and order goods in someone else's name, and that victims often find it very hard to prove it was not them.

Masked, the AI sees [AT_SVNR_1] and can still help with the rest of the text.

If it already leaked

  1. If you suspect crimes were committed in your name or you gave confidential data away, act at once: change the access data for your online banking and shops, and tell your payment provider and the shops. [2]
  2. Take screenshots of messages, chats, e-mails and transfer confirmations, and report it to the police with that evidence. [2]
  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.

Sources

  1. Was ist die Versicherungsnummer? — Dachverband der Sozialversicherungsträger (sozialversicherung.at) — checked 2026-10-03.
  2. Identitätsdiebstahl — Bundeskriminalamt — 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.

Made with AI tools.