chore: personalize outreach + blog hero image
Some checks failed
CI / Lint (push) Has been cancelled
CI / Typecheck (push) Has been cancelled
CI / Broker tests (Postgres) (push) Has been cancelled
CI / Docker build (linux/amd64) (push) Has been cancelled

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Alejandro Gutiérrez
2026-04-06 00:30:54 +01:00
parent 8c7a6a05c3
commit 8fca7fb21a
3 changed files with 66 additions and 10 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

View File

@@ -0,0 +1,53 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="630" viewBox="0 0 1200 630">
<rect width="1200" height="630" fill="#141413"/>
<!-- mesh connections -->
<g stroke="#d97757" stroke-width="1" opacity="0.3">
<line x1="180" y1="160" x2="420" y2="280"/>
<line x1="420" y1="280" x2="700" y2="200"/>
<line x1="700" y1="200" x2="950" y2="320"/>
<line x1="180" y1="160" x2="300" y2="400"/>
<line x1="300" y1="400" x2="550" y2="450"/>
<line x1="550" y1="450" x2="700" y2="200"/>
<line x1="550" y1="450" x2="950" y2="320"/>
<line x1="420" y1="280" x2="300" y2="400"/>
<line x1="700" y1="200" x2="850" y2="480"/>
<line x1="950" y1="320" x2="850" y2="480"/>
<line x1="300" y1="400" x2="150" y2="520"/>
<line x1="550" y1="450" x2="850" y2="480"/>
<line x1="1050" y1="150" x2="950" y2="320"/>
<line x1="100" y1="350" x2="180" y2="160"/>
<line x1="100" y1="350" x2="300" y2="400"/>
</g>
<!-- encrypted data flow (dashed) -->
<g stroke="#d97757" stroke-width="1.5" stroke-dasharray="6 8" opacity="0.15">
<line x1="180" y1="160" x2="950" y2="320"/>
<line x1="300" y1="400" x2="700" y2="200"/>
<line x1="100" y1="350" x2="550" y2="450"/>
<line x1="420" y1="280" x2="850" y2="480"/>
</g>
<!-- nodes -->
<g fill="#d97757">
<circle cx="180" cy="160" r="5"/>
<circle cx="420" cy="280" r="5"/>
<circle cx="700" cy="200" r="5"/>
<circle cx="950" cy="320" r="5"/>
<circle cx="300" cy="400" r="5"/>
<circle cx="550" cy="450" r="5"/>
<circle cx="850" cy="480" r="4"/>
<circle cx="1050" cy="150" r="3.5"/>
<circle cx="100" cy="350" r="3.5"/>
<circle cx="150" cy="520" r="3"/>
</g>
<!-- node halos -->
<g fill="none" stroke="#d97757" stroke-width="0.5" opacity="0.2">
<circle cx="180" cy="160" r="16"/>
<circle cx="420" cy="280" r="14"/>
<circle cx="700" cy="200" r="18"/>
<circle cx="950" cy="320" r="15"/>
<circle cx="550" cy="450" r="12"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -4,24 +4,27 @@
## Template 1: Cold email to Claude Code / MCP team at Anthropic
**To:** [RECIPIENT — e.g., hiring@anthropic.com, or a specific engineer/PM on the Claude Code team]
**To:** jobs@anthropic.com (or direct to a Claude Code / MCP team member if identified)
**Subject:** Built an E2E-encrypted mesh for Claude Code sessions — found some things about dev-channels
---
Hi [NAME],
Hi,
I'm Alejandro Gutierrez. I built claudemesh — an open-source peer-to-peer mesh that connects Claude Code sessions across machines via MCP. Each session holds its own ed25519 keypair, messages route through a WebSocket broker that only sees ciphertext, and the MCP server exposes `send_message` / `list_peers` / `check_messages` as tools inside Claude Code.
I'm Alejandro Gutiérrez — fighter pilot turned AI builder. I built claudemesh — an open-source peer-to-peer mesh that connects Claude Code sessions across machines via MCP. Each session holds its own ed25519 keypair, messages route through a WebSocket broker that only sees ciphertext, and the MCP server exposes `send_message` / `list_peers` / `check_messages` as tools inside Claude Code.
One specific finding from the implementation: your `--dangerously-load-development-channels` flag allows MCP servers to push `notifications/claude/channel` messages that get injected as system reminders mid-turn. I validated this end-to-end with Claude Code v2.1.92. It works — and it opens a real prompt-injection surface that I wrote up in a threat model ([LINK TO THREAT_MODEL.md or protocol doc]).
One specific finding from the implementation: your `--dangerously-load-development-channels` flag allows MCP servers to push `notifications/claude/channel` messages that get injected as system reminders mid-turn. I validated this end-to-end with Claude Code v2.1.92. It works — and it opens a real prompt-injection surface that I wrote up in a threat model ([THREAT_MODEL.md](https://github.com/alezmad/claudemesh-cli/blob/main/THREAT_MODEL.md)).
The repo is MIT: [github.com/alezmad/claudemesh-cli](https://github.com/alezmad/claudemesh-cli). Protocol spec with the crypto model: [claudemesh.com/docs](https://claudemesh.com/docs).
The repo is MIT: [github.com/alezmad/claudemesh-cli](https://github.com/alezmad/claudemesh-cli). Protocol spec: [PROTOCOL.md](https://github.com/alezmad/claudemesh-cli/blob/main/PROTOCOL.md).
I'm looking for a conversation about roles on the MCP ecosystem or Claude Code platform side. Happy to walk through the protocol decisions or the threat model in more detail.
Before software I spent a decade flying F-18s and running operational safety for the Spanish Air Force. The safety thinking transfers directly: systems either handle failure modes or they fail people. That's what drew me to Anthropic.
Alejandro Gutierrez
[EMAIL] | [PHONE/LINKEDIN]
I'm looking for a conversation about roles on the MCP ecosystem or Claude Code platform side. Happy to walk through the protocol decisions or the threat model.
Alejandro A. Gutiérrez Mourente
info@whyrating.com · linkedin.com/in/alejandrogutierrezmourente
claudemesh.com · github.com/alezmad/claudemesh-cli
---
@@ -120,7 +123,7 @@ is a single point of routing (not of trust — crypto is peer-side), and
enterprise self-host packaging is a v0.2 goal.
Repo (MIT): https://github.com/alezmad/claudemesh-cli
Protocol spec: https://claudemesh.com/docs
Protocol spec: https://github.com/alezmad/claudemesh-cli/blob/main/PROTOCOL.md
npm: claudemesh-cli
Would love feedback on the trust model and the protocol design.
@@ -128,4 +131,4 @@ Would love feedback on the trust model and the protocol design.
---
*All templates drafted 2026-04-05. Review before sending — check that repo URLs, doc links, and the threat model are publicly accessible.*
*All templates drafted 2026-04-05. Personalized 2026-04-06. Verify all URLs are live before sending.*