← back to Claude Mail
auto-save: 2026-07-16T09:12:20 (1 files) — lib.js
3edd995edb1fa37d5197e520b217d23a9eb1fd02 · 2026-07-16 09:12:22 -0700 · Steve Abrams
Files touched
Diff
commit 3edd995edb1fa37d5197e520b217d23a9eb1fd02
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Thu Jul 16 09:12:22 2026 -0700
auto-save: 2026-07-16T09:12:20 (1 files) — lib.js
---
lib.js | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/lib.js b/lib.js
index eaa2930..59af214 100644
--- a/lib.js
+++ b/lib.js
@@ -64,14 +64,11 @@ function gate(parsed) {
if (!cfg.allowed.includes(from)) return { ok: false, reason: `sender not allowlisted: ${from}` };
- const subject = (parsed.subject || '');
- // Normalize away case + every non-alphanumeric char on BOTH sides so the
- // phrase still matches when a human types it naturally: "DUST 2026",
- // "[ok:DUST2026]", "dust-2026" all collapse to "dust2026". This loosens
- // formatting, NOT security — a stranger still can't guess the token.
- const norm = (s) => (s || '').toLowerCase().replace(/[^a-z0-9]/g, '');
- const hasPhrase = cfg.phrase && norm(subject).includes(norm(cfg.phrase));
- if (!hasPhrase) return { ok: false, reason: 'missing secret phrase in subject' };
+ // Secret phrase NO LONGER required (Steve 2026-07-16: "allowlist = enough").
+ // The allowlist check above already hard-rejects any non-allowlisted sender, so
+ // the phrase was only ever a redundant second factor on trusted mail. The gate
+ // is now: on the allowlist AND DKIM/DMARC-aligned. Dave + every George agent
+ // account can just email claude@agentabrams.com with any subject.
if (cfg.requireAuthPass) {
const ar = headerStr(parsed, 'authentication-results').toLowerCase();
← 69f2dae chore: macstudio3 migration — reconcile from mac2 + repoint
·
back to Claude Mail
·
claude-mail: retire secret phrase — allowlist + DKIM is the 4294bd6 →