shield_list_dossiers
Lister les dossiers
List the registered client dossiers by code (DOSSIER_1, DOSSIER_2...) with document and entity counts. Never shows real dossier titles. Liste les dossiers clients par code.
Takes no parameters.
io.github.ragbasePublished by GitHub account ragbasev0.4.0Updated Nov 12, 2026
Local, reversible pseudonymisation of client files for Claude, ChatGPT and Copilot.
Local MCP server that pseudonymises client names and identifiers in case files before an AI reads them, and restores real names locally.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Follow the launch instructions in the repository.
Use Claude, ChatGPT and Copilot on your case files, masking your clients' names before sending.
RAGbase Shield 0.4.0 is a free, open-source tool (Apache-2.0). On your own computer, it replaces client names and numbers with codes before the text goes to the AI. When the AI answers, Shield puts the real names back, also on your computer.
This is local, reversible pseudonymisation. It is not anonymisation: facts, dates and amounts stay readable by the AI. Nothing goes to RAGbase. Shield sends no usage statistics.
Version française (la version de référence pour les cabinets français) : README.fr.md
Contents:
You write or open this text (invented example):
The AI receives this text:
This is the real output of the 0.4.0 engine (rules mode, the default) on this example. A test checks it.
Note what stays readable: the date, the amount, the court. The AI needs them to do the work.
The detection rules are built for French legal documents first, with English support.
With RAGBASE_SHIELD_LOCALE=en, codes use English labels (PERSON_A, COMPANY_A, ADDRESS_1).
Inside one dossier, a person always keeps the same code. "M. Mercadier", "Thibault Mercadier" and "MERCADIER Thibault" all become PERSONNE_A.
Details: docs/PRIVACY_MODEL.md.
Shield does not mask courts, institutions (Cour de cassation, CNIL, URSSAF...), laws, codes, articles, months and days.
Downloads (installers, Claude Desktop extension, SHA256SUMS): the releases page,
https://github.com/ragbase/ragbase-shield/releases/latest. Python package: ragbase-shield on PyPI.
With uv (one command). uv is the open-source tool that downloads and runs Shield.
On a Mac: open the Terminal app, paste this line, press Enter.
On Windows: open PowerShell, paste this line, press Enter.
Close the window and open a new one. Then start Shield Desk:
Your browser opens http://127.0.0.1:7878 with a private link that holds a secret token. This is a local page: it works only on your computer. To open it again, run the command again or use the link shown in the Terminal. The address alone, without the token, shows "Token refused". Keep the Terminal window open: closing it stops Shield Desk and the browser extension.
With pip: pip install ragbase-shield, then ragbase-shield desk. The optional name recognition model:
pip install "ragbase-shield[ner]" (see docs/NER.md).
On a Mac, the first use may ask for keychain access for the Shield key: click "Always Allow".
The AI cannot ask Shield for the real names. Only your computer puts them back.
uvx ragbase-shield desk shows, page Masquer (Mask). Choose the
dossier. Without a dossier, registered names become [PERSONNE] or [SOCIETE] and restore is not possible.From a terminal, the same in two commands:
ragbase-shield mask --dossier DOSSIER_1 --clipboard replaces the clipboard with the masked text.
ragbase-shield restore --dossier DOSSIER_1 --clipboard puts the real names back into the clipboard.
Full file, with every set, mode, status, method and limit: evaluation/laptop/RESULTS_PUBLIC.md (French first, then English). Protocol fixed in advance: PROTOCOL.md and its addenda in the same folder.
Read this before the numbers:
Result by the rule fixed in advance (protocol section 11.3; addendum 4, section 20.9). For Shield 0.4.0 the only wording allowed is "the conditions of section 11.3 are met" or "are not met".
Reason, the same for every line: on REF (not held-out), Hexagone Fast and Hexagone Precis leave less personal data readable than Shield 0.4.0, with a clear difference. Clear differences in the same direction on MAPA (gate) and English (development) for Hexagone Fast and Precis, and on FR-PII-Bench (gate) for Hexagone Precis. Detail: Table 14. Tonic: measured internally, not published (Tonic's terms). Speed is not part of this rule.
Key numbers (lower is better; VM, not a laptop). The "Status" column gives the status of REF and Judilibre for each line.
What this means, in short (the claims of Table 13, in both directions):
P1 = gold personal data items still readable (lower is better). P2 = legal terms that must stay clear and were changed (lower is better). In brackets: rate and 95 % Wilson interval. The October rows are printed again for reading.
Table 12. P1 protection and P2 over-masking with the Shield 0.4.0 rows
Table 13. Claims per set for the Shield 0.4.0 rows (paired bootstrap over documents; a claim needs the whole 95 % interval on one side of 0; "none" = no clear difference; claims in both directions have the same weight)
Table 14. The section 11.3 reading for Shield 0.4.0
Table 16. Failed documents
French compliance sheet (CNB, Paris bar, avocats aux Conseils, GDPR): docs/CONFORMITE.fr.md FAQ: docs/FAQ.md
Full model: docs/PRIVACY_MODEL.md.
A local engine (rules, dictionaries, check digits) finds names and identifiers, in French and in English
(the language is detected per text, or pinned with RAGBASE_SHIELD_LANGUAGE).
A name recognition model (NER) is optional; none is installed by default. To add one (about 1.2 GB,
Apache-2.0, runs offline, CPU only):
The model's finds pass the same whitelist and precision guards as the rules; the hooks and the canary never use
it. RAGBASE_SHIELD_NER=off turns it off.
Replacement by codes (PERSONNE_A) by default, or by realistic pseudonyms (ragbase-shield set DOSSIER_n --replacement synthetic): reversible through the vault, pseudonymisation, not anonymisation.
One encrypted vault per dossier (SQLite + Fernet). The key lives in the OS keychain, or in a file only you can read (mode 0600).
A local MCP server (stdio) for Claude, ChatGPT desktop, Codex and VS Code. Its tools take dossier and document codes, never raw text. No tool gives real names to the model.
Shield Desk: a local web page on 127.0.0.1, with a per-install token.
Claude Code hooks block a prompt that contains a registered name, and direct reads of a dossier folder.
No network calls in library code. No telemetry.
Full contract: ARCHITECTURE.md. Privacy model: docs/PRIVACY_MODEL.md.
With uv, prefix with uvx (uvx ragbase-shield doctor),
or install the command once: uv tool install ragbase-shield.
From a copy of the repository: uv tool install . (or uv tool install --editable . to develop).
The configs written by install then work, and doctor checks that each app can start Shield.
From an AI agent's terminal (Claude Code, Codex), entities, restore and export refuse to run, because
what they print reaches the model. add, register, keep-clear and import refuse too: an AI assistant
cannot change what is masked. list shows codes only. Run these commands in your own terminal, or use
Shield Desk.
ragbase-shield doctor checks the install, key storage and each app integration.ragbase-shield verify plants invented data, runs every path (MCP tools, hooks, Desk) and prints CLEAN or LEAK.uv run --extra dev pytest -q. Synthetic data only.uv run python bench/run_bench.py (recall and precision per kind, on an invented French legal corpus
written together with the rules; it is a regression gate, not an accuracy figure for real files).evaluation/public/ (public benchmarks; data downloaded into the git-ignored
.bench_data/), evaluation/holdout-en/ (an invented English corpus), evaluation/laptop/ (the frozen scorer
and runners of the public head-to-head)..mcpb, SHA256SUMS): https://github.com/ragbase/ragbase-shield/releases/latestShield reduces what the AI sees. It does not replace an AI that runs on your own machines. If your firm wants a private AI installed on its own hardware, RAGbase offers one: https://ragbase.ai
Source: README.md at commit 06dc602
Lister les dossiers
List the registered client dossiers by code (DOSSIER_1, DOSSIER_2...) with document and entity counts. Never shows real dossier titles. Liste les dossiers clients par code.
Takes no parameters.
Lister les pièces
List the documents of a dossier by coded id (DOC_n) with masked file names, type and size. Liste les pièces d'un dossier (identifiants DOC_n, noms masqués).
dossierrequiredLire une pièce masquée
Read one document of a dossier, masked on this computer. Returns the text with codes (PERSONNE_A, SOCIETE_B, IBAN_1) instead of the real values. Long documents come in pages: call again with the returned start value. Lit une pièce masquée, page par page.
startdossierrequireddocumentrequiredmax_charsChercher dans un dossier
Search the documents of a dossier locally. Codes in the query (PERSONNE_A) match every mention of that entity. Returns masked snippets only. Recherche locale, extraits masqués.
queryrequireddossierrequiredEnregistrer le projet final
Save the final draft (written with codes) into the dossier's 'Shield - sorties' folder. Real names are restored on this computer only; the tool returns a coded file id (OUTPUT_n) and the size, never the restored text. Enregistre le projet final ; les vrais noms sont remis sur l'ordinateur uniquement.
titlerequiredformatcontentrequireddossierrequiredStatut de Shield
Show the Shield version, the detection mode and its honest limits. Version, mode et limites.
Takes no parameters.
90% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
M. Thibault Mercadier, domicilié 12 rue des Glycines, 69007 Lyon, conteste sonlicenciement par la société Ateliers Brunelac SAS, notifié le 3 mars 2025.Il réclame 48 000 € devant le conseil de prud'hommes de Lyon (RG n° 25/01234).Contact : [email protected]M. PERSONNE_A, domicilié ADRESSE_1, conteste sonlicenciement par la société SOCIETE_A SAS, notifié le 3 mars 2025.Il réclame 48 000 € devant le conseil de prud'hommes de Lyon (RG n° RG_1).Contact : EMAIL_1curl -LsSf https://astral.sh/uv/install.sh | shpowershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"uvx ragbase-shield deskpip install "ragbase-shield[ner]" # or: uv pip install "ragbase-shield[ner]"ragbase-shield ner download # fastino/gliner2-privacy-filter-PII-multi, once, into ~/.ragbase-shield/modelsragbase-shield ner status # or: ragbase-shield doctorragbase-shield add <folder> [--title TEXT] # register a dossier folder, prints DOSSIER_n, scans itragbase-shield list # dossiers (real titles: local terminal)ragbase-shield entities <DOSSIER_n> # detected and registered entitiesragbase-shield register <DOSSIER_n> --person NAME | --org NAME | --kind KIND VALUEragbase-shield keep-clear <DOSSIER_n> <CODE> [--off]ragbase-shield mask [--dossier D] [--clipboard] [--mode codes|synthetic] [FILE|-] # prints masked text, or replaces the clipboardragbase-shield set <DOSSIER_n> --replacement codes|synthetic [--language auto|fr|en] # per-dossier settings (v0.2)ragbase-shield ner status | download [--model fastino|urchade|all] [--dir DIR] [--dry-run] [--force] # optional NER model (v0.2)ragbase-shield restore --dossier D [--clipboard] [FILE|-] # prints restored text, or replaces the clipboardragbase-shield desk [--port 7878] [--no-browser]ragbase-shield mcp # stdio MCP server (used by every app integration)ragbase-shield hook <user-prompt-submit|pre-tool-use|post-tool-use> # Claude Code hooks, JSON stdin/stdoutragbase-shield install <claude-desktop|claude-code|chatgpt|codex|vscode> [--dry-run]ragbase-shield doctor # checks install, key storage, each app integrationragbase-shield verify # plants synthetic data, runs every path, prints CLEAN or LEAKragbase-shield export <DOSSIER_n> <FILE> / import <FILE> # encrypted vault handoff (passphrase prompt)ragbase-shield journal [DOSSIER_n]