Gmail has no drafts-only OAuth scope. If an agent can draft, it can send. Two Kody locks make drafts-never-send actually true.

  • (00:00) - Cold open: agent sent email without review
  • (00:52) - Better with Kent
  • (01:25) - PocketOS: overscoped token callback
  • (02:20) - Gmail has no drafts-only scope
  • (02:46) - Two locks: token + package
  • (03:40) - Elephant: your current Gmail plugin
  • (05:47) - Ask the agent / paste the guide
  • (07:17) - Google Cloud OAuth client
  • (13:03) - Connect Google to Kody
  • (15:38) - Smoke-test draft (no send)
  • (16:56) - Save and lock the drafts package
  • (19:16) - Pin the Google token in Integrations
  • (19:47) - Browse the locked package files
  • (20:35) - Verify: execute blocked + promote
  • (22:52) - Close: lock the grant
  • (23:49) - Homework: .env God-tokens


Better with Kent - durable skills for people who ship software.

Gmail has no drafts-only OAuth scope. gmail.compose can draft and send. If an agent can draft, it can send - unless you put a real grant in front of the token.

Kent walks the locked-gmail-drafts path on Kody: smoke-test a draft with the coarse Google token, then save a thin drafts-only package, lock that package so it cannot grow send without a promoted commit, and pin the Google connection so ad hoc execute cannot call it. Two locks. The Google token stays coarse; the pair is the grant Google will not issue.

Homework: open your .env, look at the God-tokens your agent can slurp, and put them behind a grant the agent cannot widen. Kody is one way. The skill is the grant, not the product.

Guides: https://kody.codes/guides/locked-gmail-drafts and https://kody.codes/guides/google

Links

Podden och tillhörande omslagsbild på den här sidan tillhör Kent C. Dodds. Innehållet i podden är skapat av Kent C. Dodds och inte av, eller tillsammans med, Poddtoppen.