I can't for the life of me determine where they are stored, even after using Process Monitor and following
@Bot's advice. Anyone have any any ideas?
Sandboxie can target an extension-less filename
In Sandboxie/Sandboxie-Plus, the rules are not “by extension” — they’re by full path. So you can add an entry that ends in \Preferences (no .txt/.json required) and it will still match.
Typical examples in Sandboxie.ini:
- Allow Brave to write only that one file
WriteFilePath=brave.exe,C:\Users\<you>\AppData\Local\BraveSoftware\Brave-Browser\User Data\Default\Preferences
- If Brave is using the Chromium “secure prefs” file instead
WriteFilePath=brave.exe,C:\Users\<you>\AppData\Local\BraveSoftware\Brave-Browser\User Data\Default\Secure Preferences
- Some Brave settings land in the global file (not per-profile)
WriteFilePath=brave.exe,C:\Users\<you>\AppData\Local\BraveSoftware\Brave-Browser\User Data\Local State
If you prefer allowing read/write in one directive, many setups use OpenFilePath instead (behavior depends on your overall Sandboxie config), e.g.:
- OpenFilePath=brave.exe,C:\Users\<you>\AppData\Local\BraveSoftware\Brave-Browser\User Data\Default\Preferences
Why ProcMon often “doesn’t show it” even when you’re close
Chromium-based browsers frequently write settings like this:
- Write to a temporary file (example: Preferences.tmp)
- Then rename/replace it onto Preferences (a rename operation, not an obvious “write to Preferences”)
So in Process Monitor, make sure you include rename-type operations, not just WriteFile.
Suggested ProcMon filter additions:
- Process Name is brave.exe (Include)
- Path contains \BraveSoftware\Brave-Browser\User Data\ (Include)
- Operation is WriteFile (Include)
- Operation is SetRenameInformationFile (Include)
- Operation is Rename (Include) (if present)
Then look specifically for activity involving:
- \Default\Preferences
- \Default\Secure Preferences
- \User Data\Local State
- Any *.tmp in the same directories right before a rename
Practical fallback if you just need it working
If the goal is “make sure Shields custom element blocks persist outside the sandbox” and you can’t isolate the exact single file, the smallest “usually safe enough” compromise is to allow writes to the small set of prefs files that Brave uses for most UI settings:
- ...\User Data\Default\Preferences
- ...\User Data\Default\Secure Preferences
- ...\User Data\Local State
This is still much narrower than excluding the whole Brave profile.
Conclusion
You can absolutely whitelist an extension-less file in Sandboxie.ini by specifying the full path ending in \Preferences. If ProcMon wasn’t conclusive, it’s very often because the change is committed via a temporary file + rename, or because it’s going into “Secure Preferences” or “Local State” instead of “Preferences.”