docs(acl): threat model and conventions say app commands are ACL-gated
Task 2 already closed the risk (build.rs declares a Tauri AppManifest and gates every app command per window); this task brings the docs in line so the threat model of record no longer claims app commands are ungated or that any local window can call any app command. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -277,8 +277,10 @@ AppManifest spec, `2026-09-22-app-manifest-lockdown-design.md`).
|
||||
for **the caller's own label**. No viewer command accepts a path or a label as an argument.
|
||||
- Rendering: CodeMirror renders text as DOM text nodes; nothing uses `innerHTML` /
|
||||
`dangerouslySetInnerHTML` on file content. CSP unchanged.
|
||||
- Accepted residual risk (closed by the AppManifest follow-up): a compromised viewer window can
|
||||
still invoke other app commands, because `build.rs` does not restrict app commands per window.
|
||||
- Closed by the AppManifest follow-up (`2026-09-22-app-manifest-lockdown-design.md`, implemented):
|
||||
`build.rs` now declares a Tauri `AppManifest` from `generate_handler!`, so a compromised viewer
|
||||
window can invoke only the five `allow-viewer-*` app commands granted in
|
||||
`capabilities/file-viewer.json`, not any other app command.
|
||||
- Update CLAUDE.md (frontend/backend structure, Key Conventions note about the viewer window and
|
||||
label-gated commands).
|
||||
|
||||
|
||||
Reference in New Issue
Block a user