Skip to content

Close local sidecar and plaintext persistence gaps - #8

Merged
Xyloth merged 1 commit into
mainfrom
hardening/local-privacy-sidecars
Aug 31, 2026
Merged

Close local sidecar and plaintext persistence gaps#8
Xyloth merged 1 commit into
mainfrom
hardening/local-privacy-sidecars

Conversation

@Xyloth

@Xyloth Xyloth commented Aug 31, 2026

Copy link
Copy Markdown
Owner

Security boundary

  • replace wildcard sidecar CORS with exact shipped/loopback origin validation
  • issue a random per-process bearer capability and require it for speech and CLI-intelligence operations
  • reject hostile origins and invalid tokens before any model/API work occurs
  • strip extracted text, per-page text, durable text artifacts, and case-store artifact payloads before browser localStorage serialization
  • preserve the active in-memory workflow and the explicit encrypted workspace path
  • make plain JSON export redact private source material

Honest product impact

  • after a browser reload, private source text must be re-imported or restored from an encrypted workspace
  • derived fields such as evidence quotes and meeting notes remain in plaintext localStorage; README and TRUST_MODEL now say so
  • sidecar protection is a browser boundary, not an OS sandbox

Verification

pm run lint

pm test — 87/87 Vitest cases plus 3/3 Node security tests

pm run build

pm audit — 0 vulnerabilities

  • live loopback probe: hostile Origin 403, invalid capability 401, valid capability reached bounded handler

@vercel

vercel Bot commented Aug 31, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
sourcedeck Ready Ready Preview Aug 31, 2026 2:20pm

@Xyloth
Xyloth merged commit 10cecce into main Aug 31, 2026
3 checks passed
@Xyloth
Xyloth deleted the hardening/local-privacy-sidecars branch August 31, 2026 14:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant