Inside Bob · a hook
Every message out goes through one door.
Bob can draft anything. Nothing leaves except through the door that records it.
As of 28 October 2026, 11:27 IST, counted from Bob’s database and saved with this page; it does not update by itself. Counts and times only; nothing about who or what. The email figures are all mail sent from the mailbox, because the mailbox cannot tell a door send from any other. The guard’s own log holds only the newest part of today, from 08:42 IST: in the 2 hours 42 minutes before 11:24 IST it checked 1,642 calls and refused none.
Watch it work · a real recording
What it is · written by Bob
An AI agent can send a message in someone’s name, and they may never know it went. With Bob, nothing leaves unseen.
What it does. Before the AI runs any command, a small guard reads it. If the command tries to send a WhatsApp or an email by a side route, the guard refuses it and says why: use the door.
The door is one sanctioned sender for each channel. A send through it lands in Bob’s record at the moment it leaves, so every message Mordechai sent can be found, with the words exactly as they went.
The guard also stops the Gmail connector from sending at all, because a send from there leaves no record.
Why he has it. The AI does the legwork, but the send stays human. A rule that says so in a file holds only as long as the model remembers it. A guard that runs before every command holds every time.
A send by a side route is worse than a mistake: it is a message in his name that his own record does not know about.
One real run. On 19 October the guard checked every command the AI ran that day. None tried to send the wrong way. The only refusals were its own tests, which run against a raw send (refused), the real door (allowed) and the connector (refused).
Where it falls short. For almost two months, from 16 July to 9 September, the guard blocked its own door: the only documented way to send a WhatsApp was the exact command it refused. Its tests passed, because they only tested the refusals. Now it is tested in both directions, and a test fails if the real sender cannot run.
Its tests and its real refusals are written to the same log, so a raw count of refusals overstates how often anything went wrong.
See also: The legwork · Every agent tied to a human · Preflight
How it connects · written by Bob
Changelog · written by Bob
- 8 Oct 2026 · 7184970The task-tracker and Slack connectors can no longer write or post as him. Only the doors write; reading and drafts stay open.
- 24 Sept 2026 · eab2ac4The Gmail connector can no longer send, in any session. Drafts and reading stay open.
- 17 Sept 2026 · 9367d51The WhatsApp sender learned to send files and voice notes. The guard stopped trusting the shape of an address and now names each allowed one.
- 15 Sept 2026 · 6bd79a1The guard began logging every check, so it can prove it ran. Until then it could not.
- 9 Sept 2026 · a3196c3The guard had called the email door dead while it was open. The email sender was added and the guard now names the real door.
- 9 Sept 2026 · b21ea43For almost two months the guard had blocked the only documented way to send a WhatsApp. The sender became a script it allows.
- 8 Sept 2026 · 262ae26A test run a minute after it went live showed the guard refusing its own allowed route, and it was fixed.
- 8 Sept 2026 · 1989014The guard was wired in. Until then the rule existed as a written rule, with nothing running it.
Dates and short codes are from the version history of the guard, newest first, from 8 September 2026, when it was first wired in. Dates are Israel time. Every change in that history is shown except two, left out because their descriptions name a client. Some entries are left out (2), because they touched things that are not for this page.
What it runs on · written by Bob
- Starts when
- Before the AI runs any shell command, and before any call to the Gmail, task-tracker or Slack connectors that would send or write.
- Checks
- The command as text: whether it runs a network tool, and whether it names a send address, a mail-sending tool, or the sender’s own door.
- Allows
- A send only by running one of the four sender scripts from the installed plugin or its source, with plain arguments. Reading, drafts, and ordinary web calls pass.
- Refuses
- Any other route to a send, a copy of a sender kept elsewhere, and the connectors that would send, write or post. It says why and names the door to use.
- Records
- One line in a local log per check, and a second line, with the reason, per refusal. The log is trimmed to the newest half when it reaches 4 MB.
- If it breaks
- Input it cannot read is allowed through, because it is a guardrail and not a lock on everything. It is built to catch an accidental bypass, not a determined one.
- Tested
- In both directions, since September: the refusals, and that the real sender is allowed to run.
- Code
- A hook in his private plugin. It is not published, so the commit hashes above are for him to check.
Read from the guard’s code on 28 October 2026. No keys, addresses or passwords are shown, by rule.
In his words
“I choose the meaning. I choose the receiver. I decide what becomes public. When something leaves the system, the yes is mine.”
Inside Bob · The door · Catch up · Preflight · Meeting pour · The build gate · Attest · Deeper · The compass · Peek · The menus · The WhatsApp lane · The email lane · Mobile speak · The ontology · The depth gate · The hour weave · YouTube · The meeting lane · The client skill
Quotes are Mordechai’s, whole and dated. Everything marked “written by Bob” is the machine explaining, from the record, as of October 2026. Nobody else is named.