How nullcipher recognises it
Only the user-name folder of a home directory: C:\Users\<name>\ on Windows (also written C:/Users/<name>/, as C:\\Users\\<name>\\ inside JSON, with no drive letter, or under C:\Documents and Settings\), /Users/<name>/ on macOS and /home/<name>/ on Linux, where the path starts a word, follows a quote or bracket, or follows file://. The drive, the folders after the name and the file name stay readable, so the AI still sees C:\Users\[USER_1]\AppData\…. Generic accounts that name no person are left alone: Public, Default, Default User, All Users, Shared, root, runner, runneradmin, ubuntu, node, www-data, circleci, vsts and linuxbrew. Pattern-based: misses a user name anywhere else — D:\dev\jens\, a network share, ~jens, a $HOME written out, or the name in running text; may flag a folder under /home or /Users that is not a person, such as /home/backup/.
This is the rule text of the “User name in a file path” 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)
at Build.Run() in C:\Users\example.user\source\repos\Build\Build.cs:line 12
FileNotFoundError: [Errno 2] No such file or directory: '/home/example/.config/app/settings.toml'
nullcipher replaces it with [USER_1] and [USER_2]. The account names example.user and example are made up. Everything else on both lines, including the file names and line numbers the AI needs, is left as it was.
Why it matters in an AI chat
Every frame of a stack trace from your own machine starts with your home folder: C:\Users\<name>\ on Windows (Microsoft's documented default profile path is %SystemDrive%\Users\%USERNAME%), /Users/<name>/ on macOS and /home/<name>/ on Linux. That folder name is your account name, and on a personal laptop it is usually your first name, your full name, or — for a Windows account set up with a Microsoft account — the start of your e-mail address. A 40-line trace can repeat it 40 times.
On its own a first name says little. Next to the project folder, the company's internal host names and the error text in the same paste, it tells whoever reads the chat log who ran the code, and on a shared or company machine it is also the login name: half of what an attacker needs to try a password on that machine's SSH or remote-desktop port.
The AI does not need the name to read the trace. nullcipher masks only that one folder, so C:\Users\[USER_1]\AppData\Local\… still shows which folder, which file and which line failed, and the same name always gets the same placeholder. Accounts that name no person — Public, Default, All Users, Shared, root, and CI accounts such as GitHub Actions' runner and runneradmin — are left alone, because hiding them would only make the trace harder to read.
If it already leaked
- There is nothing to revoke: an account name is not a secret the way a password is.
- If the machine accepts SSH or remote-desktop logins from outside, the user name is now known; make sure those logins need a key or a strong, unique password, not a guessable one.
- If the name is your real name and the chat also shows your employer's hosts or project names, treat the conversation as identifying you and delete it (see what to do if you already pasted something).
Sources
- Microsoft Learn: KNOWNFOLDERID (FOLDERID_Profile, default path %SystemDrive%\Users\%USERNAME%) — checked 2026-09-26.
- Apple File System Programming Guide: File System Basics (/Users holds the user home directories) — checked 2026-09-26.
- Filesystem Hierarchy Standard 3.0, section 3.8: /home, user home directories — checked 2026-09-26.
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.