Contexte et objectifs
Rampart, développé par National Design Studio, propose une protection de la vie privée en interceptant les messages avant qu’ils ne quittent le navigateur. L’idée centrale repose sur le principe que l’information ne peut être considérée comme sûre que tant qu’elle ne quitte jamais l’appareil. Le projet s’adresse aux utilisateurs de chatbots qui, sans le savoir, peuvent divulguer noms, adresses, numéros de sécurité sociale ou coordonnées bancaires. En s’appuyant sur une combinaison de règles déterministes et d’un petit modèle de langage, Rampart vise à offrir une première ligne de défense sans recourir à un serveur distant.
Architecture technique
Le pipeline se compose de deux lecteurs actifs sur le dispositif. Le premier utilise des expressions régulières enrichies de validations (ex. formats de SSN, numéros de carte, adresses IP) pour détecter les entités structurées. Cette couche est entièrement déterministe et s’exécute en quelques microsecondes. Le second lecteur emploie MiniLM, un modèle de langage de 14,7 Mo, chargé via WebGPU. MiniLM analyse le contexte lexical afin d’identifier les noms propres et les adresses postales que les règles ne peuvent pas couvrir. Le modèle, entraîné sur le jeu de données OpenPII (1,5 M d’exemples) et un générateur synthétique couvrant 17 types d’entités, fonctionne avec une latence moyenne de 3,9 ms par requête, ce qui le rend compatible avec une interaction en temps réel.
Performances et comparaison
Sur un jeu de test de 30 000 lignes OpenPII, réparti sur sept langues latines, Rampart atteint un rappel de 98,42 % pour les termes privés, surpassant le filtre de confidentialité d’OpenAI (2,8 Go, 97,4 %) et GLiNER small v2.1 (≈600 Mo, 94,2 %). Même des solutions plus légères comme Community BERT‑small (≈29 Mo) n’atteignent que 81,5 % de rappel. La taille du modèle de Rampart (14,7 Mo) représente un compromis favorable entre bande passante – le téléchargement complet se fait en moins d’une seconde sur une connexion de 10 Mbps – et précision. En comparaison, le modèle OpenAI nécessiterait environ 38 minutes pour être transféré dans le même contexte.
Limites et perspectives
Rampart est présenté comme un produit alpha. Il ne supporte actuellement que sept langues (anglais, espagnol, français, allemand, italien, portugais, néerlandais) et se limite à la détection de 17 catégories d’entités. Le caractère open‑source du projet permet toutefois d’étendre la couverture linguistique et d’intégrer des règles supplémentaires. Le modèle MiniLM, bien que petit, ne garantit pas une protection absolue contre les nouvelles formes de PII, notamment les identifiants alphanumériques non standards. Enfin, l’absence d’une couche serveur empêche l’application de techniques de mise à jour dynamique du modèle, ce qui pourrait rendre le système sensible aux dérives de performance au fil du temps.
import { createGuard } from "@nationaldesignstudio/rampart";
const guard = await createGuard();
const safe = await guard.protect(
"My name is John Wick. I live at 88 Cedar Lane, Brookvale, CT 06482."
);
console.log(safe.text);
// "My name is [GIVEN_NAME_1]. I live at [BUILDING_NUMBER_1] [STREET_NAME_1], Brookvale, CT 06482."