Security: filter Discord public output for private-data leaks #491

Open
nsaspy wants to merge 0 commits from rage/30-discord-public-output-privacy into main
Owner

Fixes #30.

TDD starts at dd06a37ccf5ea5ad35df454dc5e5a92572614d54 with a RED contract for Discord's public/untrusted boundary and fail-closed filtering of obvious operator-profile, memory-dump, credential, token, and authorization disclosures.

Implementation adds a small stdlib-only public-output filter at the Discord delivery boundary. Blocked output is replaced with a fixed safe refusal before it enters Discord history or public delivery; normal answers remain unchanged. The plugin explicitly defines Discord as PUBLIC/UNTRUSTED defense-in-depth context.

This does not claim to replace Zara Core principal/tool/memory capability isolation. Core remains the authority for preventing public turns from acquiring private data in the first place; this plugin slice only reduces accidental public disclosure at the final Discord boundary.

Exact-head gates required before merge: registry validator, zara-discord unit suite, generated pinned-Zara compatibility, package/runtime-layout checks, and nix flake check.

Fixes #30. TDD starts at `dd06a37ccf5ea5ad35df454dc5e5a92572614d54` with a RED contract for Discord's public/untrusted boundary and fail-closed filtering of obvious operator-profile, memory-dump, credential, token, and authorization disclosures. Implementation adds a small stdlib-only public-output filter at the Discord delivery boundary. Blocked output is replaced with a fixed safe refusal before it enters Discord history or public delivery; normal answers remain unchanged. The plugin explicitly defines Discord as PUBLIC/UNTRUSTED defense-in-depth context. This does not claim to replace Zara Core principal/tool/memory capability isolation. Core remains the authority for preventing public turns from acquiring private data in the first place; this plugin slice only reduces accidental public disclosure at the final Discord boundary. Exact-head gates required before merge: registry validator, zara-discord unit suite, generated pinned-Zara compatibility, package/runtime-layout checks, and `nix flake check`.
Some checks failed
CI / test (pull_request) Failing after 18s
This branch is already included in the target branch. There is nothing to merge.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin rage/30-discord-public-output-privacy:rage/30-discord-public-output-privacy
git switch rage/30-discord-public-output-privacy

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff rage/30-discord-public-output-privacy
git switch rage/30-discord-public-output-privacy
git rebase main
git switch main
git merge --ff-only rage/30-discord-public-output-privacy
git switch rage/30-discord-public-output-privacy
git rebase main
git switch main
git merge --no-ff rage/30-discord-public-output-privacy
git switch main
git merge --squash rage/30-discord-public-output-privacy
git switch main
git merge --ff-only rage/30-discord-public-output-privacy
git switch main
git merge rage/30-discord-public-output-privacy
git push origin main
Sign in to join this conversation.
No description provided.