feat: initial Silent Send browser extension

Chrome Manifest V3 extension that intercepts personal data and
substitutes it with user-defined replacements before sending to
Claude.ai. Hooks fetch() in the page's main world to catch API
requests, with bidirectional substitution (real→fake on send,
fake→real on display via reveal mode).

Includes popup UI with mapping management, live test/diff view,
activity log with badge count, options page with import/export,
and Shadow DOM traversal for Claude.ai compatibility.

https://claude.ai/code/session_01Dvgwe7XMoSxnWXkih8p1Cw
This commit is contained in:
Claude
2026-03-25 23:26:13 +00:00
commit 4576597e64
19 changed files with 2100 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
/* Silent Send - Content Script Styles */
/* Subtle indicator when input contains sensitive data that will be substituted */
.ss-has-sensitive {
box-shadow: inset 0 -2px 0 0 rgba(16, 185, 129, 0.3) !important;
}
/* Highlight class for substituted text (when highlights enabled) */
.ss-highlight {
background: rgba(16, 185, 129, 0.15);
border-bottom: 1.5px solid rgba(16, 185, 129, 0.5);
border-radius: 2px;
padding: 0 1px;
}
/* Revealed text styling (when reveal mode shows real values in responses) */
.ss-revealed {
background: rgba(59, 130, 246, 0.1);
border-bottom: 1.5px dashed rgba(59, 130, 246, 0.5);
border-radius: 2px;
padding: 0 1px;
}