March 5, 2026 · 2 min read

OAuth 2.1 + PKCE for a single-page app

PKCE is the load-bearing mitigation against authorization-code interception. The Go implementation is short; the parts every SPA gets wrong are documented here.

GoOAuthPKCESecurity
March 3, 2026 · 2 min read

WebAuthn passkeys in Go with crypto/ed25519

Passkeys are FIDO2; FIDO2 is the spec; Ed25519 is the signature algorithm. The full registration + assertion flow in 200 lines of stdlib Go.

GoWebAuthnPasskeysSecurityStdlib
March 2, 2026 · 2 min read

RFC 8693 token exchange — the nurse Alice scenario

Dual-identity tokens for the agent → MCP server → upstream API chain. Subject stays the user; Actor identifies the agent acting on the user's behalf. Walked through with a worked clinical example.

GoOAuthRFC 8693AgentsSecurity
February 28, 2026 · 2 min read

SPIFFE/SPIRE basics — workload identity at deploy time

Services need identity too, not just users. SPIFFE issues SVIDs (verifiable identity documents) to workloads; SPIRE is the reference issuer. The shape and the first deploy.

SPIFFESPIREWorkload IdentityZero-Trust
February 27, 2026 · 2 min read

mTLS at the proxy — Envoy + SPIRE-issued SVIDs

Pushing mTLS into a service mesh removes it from every individual service. Envoy + SPIRE is the canonical pattern; the implementation has fewer moving parts than the architecture diagrams suggest.

mTLSEnvoySPIREService Mesh