Numéro de sécurité sociale (NIR)

Certaines démarches sociales ont besoin du numéro de sécurité sociale de l'usager, le NIR (Numéro d'Inscription au Répertoire national des personnes physiques). C'est le seul des quatre champs santé de Dématérialisation des Démarches Sociales qui ne s'appuie sur aucun annuaire : pas de recherche, pas de liste de suggestions, pas d'autocomplétion. Un champ de saisie de quinze caractères, encadré par un contrôle de forme et chiffré une fois enregistré.

Saisie directe Donnée sensible Usager, instructeur, administrateur

Le concept : un champ texte, contrôlé et chiffré

Contrairement aux champs FINESS ou RPPS, le NIR ne renvoie à aucun référentiel consultable en temps réel. Dématérialisation des Démarches Sociales ne dispose d'aucun annuaire des personnes physiques, et n'en interroge aucun. Le champ ne propose donc rien : l'usager tape son numéro, un point c'est tout.

Ce que le champ fait, et ce qu'il ne fait pas

Le champ vérifie que la saisie a la bonne forme : quinze chiffres agencés selon la structure d'un NIR. Il ne vérifie jamais que le numéro existe ni qu'il appartient à l'usager : aucun calcul de clé de contrôle, aucun rapprochement avec un fichier. Un numéro parfaitement formé mais fantaisiste passe le contrôle. Une fois enregistré, le numéro est chiffré dans la base de données.


Le format attendu

Le NIR compte toujours quinze chiffres, saisis sans espace. Ces quinze chiffres encodent, dans l'ordre, un ensemble d'informations d'état civil :

Structure des quinze caractères (gabarit, chaque lettre remplace un chiffre)
Position Gabarit Signification
1er caractère S Sexe et nature du numéro (l'usage courant retient 1 et 2)
2 caractères AA Année de naissance
2 caractères MM Mois de naissance, ou un code conventionnel (62, 63) pour certaines naissances à l'étranger ou dont le mois est inconnu.
2 caractères DD Département de naissance (2A ou 2B acceptés pour la Corse)
3 caractères CCC Code commune de naissance
3 caractères OOO Numéro d'ordre de la naissance
2 caractères KK Clé finale (deux chiffres compris entre 01 et 97)

Soit le gabarit d'ensemble « S AA MM DD CCC OOO KK ». Le champ contrôle que la saisie respecte cet agencement. Il n'établit pas que la clé finale est la bonne : les deux derniers chiffres doivent seulement tomber dans la plage 01 à 97, sans qu'aucun calcul ne confirme leur cohérence avec le reste du numéro.


Les deux contrôles de saisie

Le format est contrôlé deux fois, à deux moments distincts, toujours sur la seule forme.

  1. Au fil de la frappe, côté serveur

    Le champ porte un contrôleur turbo-input qui, avec un anti-rebond de 200 ms, rejoue la validation serveur pendant la saisie. Si la forme ne convient pas, le message « Numéro de sécurité sociale invalide. » est réinjecté sous le champ.

  2. À l'envoi du formulaire, côté navigateur

    Le champ est limité à quinze caractères et porte un motif HTML de validation. Si la saisie ne respecte pas la structure attendue, le navigateur bloque l'envoi et affiche l'infobulle « Le NIR doit être saisi sur 15 caractères. »

Le contrôle serveur est le garde-fou : il s'applique même si le contrôle navigateur a été contourné. Les deux portent sur la seule forme du NIR ; son exactitude et son attribution restent hors de leur portée.


Le chiffrement en base

Une fois le dossier enregistré, le numéro est chiffré dans la base de données, juste avant l'écriture, avec un sel aléatoire (une valeur unique tirée au hasard pour chaque numéro, qui rend deux NIR identiques illisiblement différents en base) et une clé dérivée du secret de l'application. À la lecture, il est déchiffré automatiquement.

Un chiffrement au repos

Ce chiffrement protège la donnée stockée. Le numéro reste lisible pour les agents habilités : l'instructeur qui ouvre le dossier le voit en clair, et il ressort en clair dans les exports CSV et XLSX ainsi que dans l'API. Le NIR reste une donnée sensible dès qu'elle quitte la base.


Limites et pièges

Le contrôle porte sur la seule forme. Un numéro inventé mais correctement agencé, avec une clé finale dans la plage autorisée, est accepté. La véracité du NIR relève de l'instruction du dossier.

Il n'y a ni recherche, ni suggestion, ni reformatage automatique. L'usager doit connaître son numéro et le taper lui-même, sans espace. C'est le comportement voulu : aucun annuaire des personnes n'est interrogeable.

Le chiffrement s'arrête au stockage. Instructeurs, exports tableur et API voient le numéro en clair. Traitez les fichiers exportés qui contiennent un NIR avec les précautions dues à une donnée sensible.

La finalité de la collecte, les destinataires, la durée de conservation et la base légale du traitement du NIR relèvent de la démarche concernée et de sa notice, indépendamment de ce champ. Reportez-vous à la politique de confidentialité de la plateforme et, en cas de doute, au délégué à la protection des données.


À retenir

Par rapport à un champ texte ordinaire, ce champ déplace le travail de contrôle :

  • La forme est acquise dès l'enregistrement. L'instruction reçoit toujours un NIR à quinze chiffres bien agencé et concentre son effort sur la seule question qui reste ouverte, la véracité du numéro.
  • Le chiffrement s'arrête au stockage. Dès l'export CSV, XLSX ou l'API, le NIR ressort en clair ; tout fichier qui en contient relève du régime des données sensibles.
  • La donnée est marquée sensible pour qui manipule le dossier, ce qui engage la responsabilité du traitement en aval.