hiddentokens

Hidden Tokens / IT and security

Hidden Tokens: IT and security sheet

For the IT department of an audit firm, a law firm or a group that has to approve Hidden Tokens on managed workstations. Every statement below comes from the product's own code and configuration: network flows host by host, where data lives, how the installers are built and signed, what the organisation's signed policy enforces, and what is not done yet.

Updated · desktop app 0.40.1, connector 2.101.0, sentinel 0.27.1, browser extension 0.12.0

Short answer
  • Hidden Tokens runs entirely on the workstation. The connector, the sentinel and the extension make no network request; the licence is checked offline. The vendor receives no file, no key, no log.
  • The only outgoing connection is the update check on github.com, on click or weekly if the user accepted it once; it sends the version number and the IP address. An optional 700 MB model package downloads from GitHub on click, or installs from a file.
  • macOS: Developer ID signed (team 2CTJY8T842) and notarised, Apple Silicon only. Windows: per-user NSIS installer, no admin rights, HKCU only, /S silent install; not code-signed yet, so SmartScreen warns.
  • Governance without a server: a policy signed by your administrator, re-verified at every coding call, fail closed; an encrypted organisation registry on your own file share; a signed, chained monthly ledger. No SSO, no hosted console, no MSI in v1.

What it is, what it is not

Hidden Tokens is a local pseudonymisation layer between the files on a workstation and AI tools. Names, companies, identifiers and amounts in Word, Excel, PDF, PowerPoint and text files are replaced by stable codes (NAME-001, COMPANY-003) on the workstation before any AI reads anything; answers are translated back on the workstation. The mapping key never leaves the organisation.

ComponentRoleTechnology
Desktop appMenu-bar icon, watches folders, local dashboard on 127.0.0.1, embeds the sentinel and the connectorElectron (bundled Node); macOS signed and notarised, Windows built by CI
Claude Desktop connector.mcpb extension (id hidden-tokens): the engine and its MCP toolsNode ≥ 18, MCP server over stdio
Browser extensionCodes messages typed into ChatGPT, claude.ai, Gemini, Copilot, Le Chat, Perplexity, DeepSeek before they are sentManifest V3, Chrome Web Store
Claude Code pluginPreToolUse hook that refuses raw reads of a protected folder's documentsPublic repository github.com/hidden-tokens/plugin
Admin consoleCommand-line tool and local page: firm, workstation enrolment, signed policy, registry, escrowNode ≥ 20, no dependency
Excel add-in =HT.CLAUDE()Claude in a cell, text coded by the sentinelSideloaded; see its network note below

What it does not do. Hidden Tokens sends no data to any AI or to the vendor. The user sends the coded text or copy, in their usual AI tool, through that tool's own channel. The vendor runs no application server. The product performs reversible pseudonymisation with human review; it supports compliance, it does not certify it.

Network flows

Zero requests by default

The only outgoing connections, all in the desktop app, all on explicit choice

WhenHost(s)What goes outHow to turn it off
Update check: click on "Check for updates… (connects to GitHub)", or once a week if the user accepted the question asked once at first launchgithub.com, releases of the public repository ai4xedu/hidden-tokens-releases (latest-mac.yml / latest.yml, .zip / .exe), through electron-updaterInstalled version number and the workstation's IP address. Never a file, a key or a folder nameUntick "Check weekly" in the menu. Without network, the app itself flags a version older than 60 days from its embedded build date
Download of the "Double check" package (local second reader, ONNX model of about 700 MB), on click and after explicit consentgithub.com, objects.githubusercontent.com, release-assets.githubusercontent.com: a closed list in the code; a redirect to any other host is refusedNothing but the download requestDo not click; or install the same .htpack file "from a file" on workstations without downloads. The connector checks the pinned SHA-256 of every file before installing

No other request is made by the app, the sentinel, the connector or the extension. Help links (hiddentokens.com, claude.ai/download, the Chrome Web Store listing) open in the system browser, never inside the app.

Two cases that talk to a third-party service

The website itself is static (Netlify); its contact form, the Polar checkout and the activation page are described in the privacy policy. None of them is called by the installed software.

Data at rest

In each working folder: the Hidden-Tokens/ subfolder

FileContentProtection
*-anonymise.*The coded copies, the only documents the AI reads—
cle-de-session.json (+ .sauvegarde.json)The folder's mapping key (code → value)JSON written atomically, mode 600. Not encrypted at rest: protected by file-system permissions and by the AI's access ban (the connector's FORBIDDEN_RX, the Claude Code hook, the sentinel's allow-list)
cle-correspondance-NE-JAMAIS-PARTAGER.xlsxReadable export of the same keyMode 600
cle-secrets.chiffreValues of coded technical secrets (API keys, passwords)AES-256-GCM; key in the macOS keychain or protected by DPAPI on Windows
journal-ia/YYYY-MM.jsonl, CE-QUE-CLAUDE-A-VU.htmlThe "what the AI saw" log: codes and counts, never a real value; signed proof pageMode 600
grand-livre/The signed, chained monthly ledger (counts only)In the team folder if the organisation has one, otherwise here
RAPPORT-COUVERTURE-HIDDEN-TOKENS.html, stats-poste-<id>.jsonCoverage report (counts per workstation)In the team folder
reglages.json, licence.txt, pare-feu.json, recettes/Folder settings, licence key, declared connectors, replayed recipes—
*-decode-*Decoded results (real values), written to disk, never into the chatRefused as input to the AI

The working folder must not be synced (iCloud, OneDrive, Google Drive, Dropbox): the key would travel with it. The confinement audit flags this, as well as any other Claude Desktop extension or MCP server that could see the folder.

On the workstation, outside working folders

WhereWhat
macOS ~/Library/Application Support/Hidden Tokens/ · Windows %APPDATA%\Hidden Tokens\sentinelle.json (watched folders, workstation settings), jeton (600), prise.sock (named pipe on Windows), evenements.jsonl (never a real value), app.log
macOS keychain (service com.ai4x.hiddentokens) · Windows %APPDATA%\Hidden Tokens\trousseau\ (DPAPI, user scope)The workstation's private key (organisation registry) and the secrets vault key. An unavailable keychain is an error: never a silent fallback to a clear-text file
~/.hidden-tokens/second-lecteur/The "Double check" package, if installed
macOS ~/Library/ServicesThe Finder quick action "Protect with Hidden Tokens"
Read only: Claude Desktop's configuration folderThe confinement audit reads it to name other open doors; it modifies nothing

On the organisation's file share (Firm and Organisation plans)

The policy (politique.nanomizer.json + .sig: rules, names as HMAC fingerprints, Ed25519 signature), the organisation registry (registre/registre.json signed by the console, one AES-256-GCM encrypted line per entry, one append-only file per workstation), and the proofs (ledger entries, coverage counts, one file per workstation). The share does not need to be trusted: what is put there is encrypted or signed. The administrator's own workstation keeps the firm's private key encrypted (scrypt + AES-256-GCM) and the policy source with names in clear, which never leaves it.

Never written: a real value in the log, the ledger, the coverage report or the events; a file, key or log at the vendor's; usage data or a machine identifier in the licence.

Managed installation

macOS

Windows

The connector in Claude Desktop

The browser extension

Claude Code plugin and Excel add-in

The Claude Code plugin (public repository, FSL-1.1-ALv2 licence) installs a PreToolUse hook: in a folder that contains Hidden-Tokens/, reading, searching or editing a document, the key or a decoded file is refused; the coded copies remain allowed. The Excel add-in is sideloaded, pending the Office store.

Governance and proof

The organisation's signed policy

The admin console creates the firm (Ed25519 key pair, private key encrypted with a passphrase), enrols each workstation with a file handed over in person, and signs the policy placed on the share: names always coded (as HMAC fingerprints, never in clear), custom patterns, terms left readable, forbidden items per detector, enabled industry packs. A local page lets the administrator write, dry-run and sign the policy; it imports the output of the AI charter generator.

On each workstation, the connector pins the firm's public key at first use and re-reads and re-verifies the policy at every coding call: absent, tampered, downgraded or expired (72-hour grace), coding stops; share unreachable, the verified local copy is used with a warning after 24 hours. Any unexpected error counts as tampered (fail closed). Decoding is never blocked.

The organisation registry

One code key for the whole organisation: the same person gets the same code on every workstation. The registry lives on your share, signed by the console and encrypted line by line; each workstation's private key is in its keychain. Escrow with a quorum of guardians and a printable recovery sheet. An invalid registry signature stops coding and leaves decoding. Key rotation is not available yet.

The proofs

ProofWhat it establishesForm
"What the AI saw" logEvery answer sent to the AI, re-checked against the current key; a leak appears by its codeLocal page with a signed attestation, verifiable offline
Coverage reportPer workstation: protected files, unconfirmed plans, decodings, values found, open doors, last activity; alerts for inactive workstations and versions behind; the policy re-read clause by clauseCounts only, aggregated in the team folder
LedgerOne entry per closed month and per workstation, signed and chained by SHA-256; never deleted, corrections onlyPage with a draft GDPR art. 30 record entry and the deployer elements of Regulation (EU) 2024/1689, art. 4 and 26
Folder sealFor the client: the data was coded before the AI; refused if the audit finds a leakVerified offline on the seal page; the seal travels in the URL fragment, never sent to the server
Confinement auditOther extensions or MCP servers seeing the folder, browser control, synced folderLocal read of Claude Desktop's configuration, nothing modified
Connector firewallA third-party connector's results are coded before Claude; writing tools require consent outside the chatHidden-Tokens/pare-feu.json

Compliance: what the product says, and does not say

What IT can verify on its own

# Installer fingerprints (compare between two workstations, or with the release)
shasum -a 256 HiddenTokens-<version>-arm64.dmg              # macOS
certutil -hashfile HiddenTokens-<version>-x64.exe SHA256     # Windows
# latest-mac.yml / latest.yml on the release carry the SHA-512 of each file

# Signature and notarisation on a Mac
codesign -dv --verbose=2 "/Applications/Hidden Tokens.app"   # TeamIdentifier=2CTJY8T842
spctl -a -vv "/Applications/Hidden Tokens.app"               # source=Notarized Developer ID

# The connector is a readable archive
unzip -l hidden-tokens-connector-<version>.mcpb              # manifest.json, server/, node_modules/

Known points and roadmap

PointStatus
Windows installer signatureNot signed; SmartScreen warns. Planned, no date
MSI / MSIXNone; per-user NSIS only
Intel MacsNot supported (Apple Silicon only)
SSO / directory (Entra ID, Google Workspace), hosted web console, network proxyOut of scope for v1: administration goes through the local console and the file share
Central consoleNo server: coverage report and ledger are aggregated in the team folder on your share
Organisation registryBuilt and replayed in the acceptance script; key rotation and recovery QR code not yet
Local folder keyClear-text JSON, mode 600; no at-rest encryption of this file
Browser extensionChrome, Edge, Brave, Arc; Firefox and Safari to come. AI sites outside the list and private windows are not covered without the policy settings
Excel add-inSideloaded, Office store to come; sends coded text to the Anthropic API with the user's key
Workstations without access to GitHubNo automatic updates; deploy the installers with your own tools. The app flags a version older than 60 days without network

Contact and Organisation plan

Write to info@hiddentokens.com. The Organisation plan (21 to 100 seats: €190 per seat per year excl. VAT; 101 to 500: €140; above 500 on quote; €4,900 minimum per year) adds escrow and recovery sheet, the admin console, rules and packs deployed by the policy, an IT report, priority support with a first answer within 4 business hours, half a day of deployment, an annual attestation, a dedicated contact and a framework agreement (in French). Term: 12 months by purchase order, no tacit renewal, no payment method kept. A 30-day pilot on 5 to 20 seats (€1,900 excl. VAT, fully deducted if the order follows) comes with success criteria signed at the start. Trial: 14 days, no account; when a licence expires, coding stops and decoding never does.

Frequently asked questions

Which hosts does Hidden Tokens contact?

By default, none. The connector, the sentinel and the browser extension make no network request; the extension only talks to 127.0.0.1. The desktop app connects to github.com (releases of the public repository ai4xedu/hidden-tokens-releases) only when the user clicks "Check for updates" or has accepted a weekly check once; only the version number and the IP address go out. The optional "Double check" package downloads from github.com and its two storage hosts, on click. The licence is checked offline.

Where are the key and the logs stored?

In a Hidden-Tokens subfolder of each working folder: the mapping key cle-de-session.json (mode 600, clear-text JSON protected by file permissions and refused to the AI), the coded copies, the journal-ia log (codes and counts only) and the ledger. Workstation settings live in ~/Library/Application Support/Hidden Tokens/ on macOS and %APPDATA%\Hidden Tokens\ on Windows; the workstation key is in the macOS keychain or protected by DPAPI.

Is the installer signed?

On macOS, yes: Developer ID Application, team identifier 2CTJY8T842, hardened runtime, notarised by Apple. On Windows, not yet: the NSIS installer is unsigned and SmartScreen warns on first run; allow it by hash or by an AppLocker or WDAC rule. Code signing is planned, without a date.

Does the Windows install require administrator rights?

No. The installer is per user (NSIS, oneClick, perMachine false): it installs into the user's profile, writes only HKCU keys for the right-click "Protect with Hidden Tokens" entry and removes them on uninstall. Standard NSIS switches apply: /S for a silent install and /D=<folder> for the target folder.

Is Hidden Tokens SOC 2 or ISO 27001 certified?

No. The vendor claims no certification and runs no server that would hold your data: files, keys and logs stay on your workstations and your own file share. What you can verify yourself: the installers' hashes, the macOS signature and notarisation, the readable .mcpb archive, the zero-network behaviour with the network off, and the confinement audit on a pilot workstation.