ZeroNoise Logo zeronoise
Post
Preflight Adds a Sanitizing Boundary to the Multi-Model Agent Stack
4 min read
70 docs
A new gateway pattern puts redaction, local attachment inspection, and model routing between coding agents and their providers; Jev’s latest practitioner guidance clarifies the narrow role of fast typed decisions.

🔥 TOP SIGNAL

Geoffrey Huntley’s preflight makes the agent gateway—not a prompt—the security boundary. His chain is client → preflight → underclass → model: Underclass collapses 20 ChatGPT/Copilot subscriptions into one endpoint, while Preflight listens on :8081 and starts with nix run github:ghuntley/preflight -- serve. It defaults to redaction rather than abortingghp_… becomes [REDACTED:github-pat]—while screenshots, PDFs, barcodes, and OCR are decoded locally; unsanitized attachments do not go upstream, and logs/HTTP 409s expose only finding and rule IDs.

⚡ TRY THIS

  • Put a security hop in front of the harness. Point the agent from :8080 to :8081, run nix run github:ghuntley/preflight -- serve, and keep the client → preflight → underclass → model path. Make repeated multimodal checks reusable by caching the verdict for the same attachment plus inspection profile content-addressably on disk for a one-week TTL; vendor and pin Gitleaks, update it through a CI-checked PR, and keep new rules disabled until explicitly allowed in defaults.toml.

  • Use Jev as a typed fast lane, not an agent. Pass structured state and a schema into it, use its confidence to set an automation threshold, and send below-threshold cases to review; keep codebase traversal, tool outputs, and history compaction in the reasoning model. Theo describes Jev as a function-like classifier with a 32k-token context and explicitly rejects using it to judge several LLM outputs or compact agent history; Salvatore Sanfilippo gives the confidence-to-human-review pattern.

  • Provision keys out of band on remote agent machines. Simon Willison’s llm-keys-ui workflow is: have Codex run uvx --with llm-keys-ui llm keys-ui --all, open the returned local-network or Tailscale URL to save the key, then let a later shell command retrieve it with llm keys get anthropic instead of pasting the secret into the agent session.

  • Use a project as the orchestration folder. In Riley Brown’s Claude Project pattern, name the project, give it a goal, let the main chat create task-specific threads, and have those threads—not the main agent—use tools. Assign models per thread, store their artifacts in the project library, and keep recurring routines inside the project so new threads inherit the project context without re-explaining the work.

📡 WHAT SHIPPED

  • llm-keys-ui 0.1: Simon Willison released the web UI for setting LLM keys, motivated by controlling Codex Remote sessions from a phone without pasting API keys into the agent or ChatGPT app.

  • Agent gateway pair — underclass and preflight: Underclass is Huntley’s one-endpoint consolidation of 20 ChatGPT/Copilot subscriptions; Preflight adds the redacting, attachment-aware checkpoint in front of it.

  • OpenClaw FaceTime support: Omar Shahine says the experimental plugin supports audio, lets users call their claw and the claw call them, supports GPT-live, and should arrive in the next release; Peter Steinberger separately announced that a claw can now FaceTime, so treat the rollout status as qualified.

  • Jev early access: Theo’s walkthrough positions Typesafe AI’s model as structured state in, typed probabilistic decisions out, available through OpenRouter and Vercel AI Gateway. He cites 70–500 ms classification and roughly $0.04 per million tokens versus $10 for Fable, but stresses the 32k-token context and Jev’s unsuitability for codebase traversal, LLM judging, or context compaction.

  • Kody’s shared capability layer: Kent C. Dodds is positioning Kody as a common place for multiple assistants to run integrations, secrets, automations, jobs, webhooks, and software packages; he describes the package feature as a personal software registry plus execution environment. In a separate firsthand example, his Grok bot used Kody’s calendar and email connections to manage a trip and draft a reply.

🎬 GO DEEPER

  • Video — Theo’s Jev is incredible: Watch the model-boundary segment first: Jev is a function-like classifier for structured state, not a code-writing model. The later section is the useful anti-pattern review—why judging multiple LLM outputs or compacting agent history throws away the context and tool results those tasks require.
  • Repo — preflight + underclass: Study the proxy boundary, default-redaction behavior, local multimodal inspection, content-addressed verdict cache, and CI-controlled Gitleaks rule updates before copying the pattern.

  • Repo — llm-keys-ui 0.1: A small, immediately reusable pattern for keeping API-key entry in a separate web surface while remote coding agents retrieve keys only at command execution time.

Editorial take: The practical frontier is boundary design: sanitize model calls, keep narrow decisions typed, and reserve human time to inspect generated work instead of optimizing only for “press enter.”

Preflight Adds a Sanitizing Boundary to the Multi-Model Agent Stack
Summary
Coverage start
1 day ago
Coverage end
17 hours ago
Frequency
Daily
Published
16 hours ago
Reading time
4 min
Research time
45 min
Documents scanned
70
Documents used
16
Citations
24
Sources monitored
110 / 111
Insights
Skipped contexts
Source details
Source Docs Insights Status
Brent Traut 1 1
Lukas Möller 0 0
Jediah Katz 0 0
Aman Karmani 0 0
Jacob Jackson 0 0
Cursor Blog | RSS Feed 0 0
Nicholas Moy 0 0
Mike Krieger 0 0
Sualeh Asif 0 0
Michael Truell 0 0
Google Antigravity 0 0
Aman Sanger 0 0
cat 0 0
Mark Chen 0 0
Greg Brockman 0 0
Tongzhou Wang 0 0
fouad 0 0
Calvin French-Owen 0 0
Hanson Wang 0 0
Ed Bayes 0 0
Alexander Embiricos 0 0
Tibo 0 0
Romain Huet 2 0
DHH 7 0
Jane Street Blog 0 0
Miguel Grinberg's Blog: AI 0 0
xxchan's Blog 0 0
<antirez> 0 0
Brendan Long 0 0
The Pragmatic Engineer 0 0
David Heinemeier Hansson 0 0
Armin Ronacher ⇌ 9 0
Mitchell Hashimoto 0 0
Armin Ronacher's Thoughts and Writings 0 0
Peter Steinberger 0 0
Theo - t3.gg 13 2
Sourcegraph 0 0
Anthropic 0 0
Cursor 0 0
LangChain 0 0
Anthropic 0 0
LangChain Blog 0 0
LangChain 1 0
Cursor 0 0
Riley Brown 0 0
Riley Brown 1 1
Jason Zhou 0 0
Boris Cherny 0 0
Mckay Wrigley 0 0
geoff 10 2
Peter Steinberger 🦞 3 1
AI Jason 0 0
Alex Albert 0 0
Latent.Space 0 0
Logan Kilpatrick 1 0
Fireship 0 0
Fireship 0 0
Kent C. Dodds 🐨 8 4
Practical AI 0 0
Practical AI Clips 0 0
Stories by Steve Yegge on Medium 0 0
Kent C. Dodds Blog 0 0
ThePrimeTime 0 0
Theo - t3․gg 1 1
ThePrimeagen 6 1
Ben Tossell 0 0
swyx 2 0
AI For Developers 0 0
Geoffrey Huntley 0 0
Addy Osmani 2 0
Andrej Karpathy 0 0
Simon Willison 0 0
Matthew Berman 0 0
Changelog 0 0
Simon Willison’s Newsletter 0 0
Agentic Coding Newsletter 0 0
Latent Space 0 0
Simon Willison's Weblog 2 2
Elevate 0 0
Lukas Möller 0 0
Jediah Katz 0 0
Sualeh Asif 0 0
Mike Krieger 0 0
Michael Truell 0 0
Cat Wu 0 0
Kevin Hou 0 0
Aman Sanger 0 0
Nicholas Moy 0 0
Andrey Mishchenko 0 0
Jerry Tworek 0 0
Romain Huet 0 0
Thibault Sottiaux 0 0
Alexander Embiricos 0 0
xxchan 0 0
Salvatore Sanfilippo 1 1
Armin Ronacher 0 0
David Heinemeier Hansson (DHH) 0 0
Alex Albert 0 0
Logan Kilpatrick 0 0
Shawn "swyx" Wang 0 0
Jason Zhou 0 0
Riley Brown 0 0
McKay Wrigley 0 0
Boris Cherny 0 0
Ben Tossell 0 0
Geoffrey Huntley 0 0
Peter Steinberger 0 0
Addy Osmani 0 0
Simon Willison 0 0
Andrej Karpathy 0 0
Harrison Chase 0 0