Posts
All the articles I've posted.
Your LLM can't hallucinate a number it was never given
3 min readPreventing invented facts in the code that builds the prompt rather than in its instructions: no raw numbers, no empty fields, and opaque references instead of names.
Cache the prompt, not the inputs
2 min readAn LLM cache keyed on a hand-picked list of inputs fell behind the prompt it protected. Hashing the rendered prompt fixed it, and the choice of hash turned out to be a security decision.
Fire-and-forget doesn't survive on Cloudflare Workers
3 min readA view counter returned 204 on every call and never moved. Workers can cancel work still pending after the response unless it is passed to waitUntil.
What a non-extractable key actually protects
4 min readKeeping a signing key in the browser under a WebCrypto key that cannot be exported: what that stops, what it does not, and where the real protection comes from.