1
Protect routes
lathHono puts the verified user on the context under lath. Token verification uses jose, which is WebCrypto — no Node built-in, so this works unchanged on every edge runtime.2
The one Node dependency
verifyWebhook imports node:crypto for its HMAC and its constant-time compare. Everything else in the SDK — the client, verifyAccessToken, the middleware — is fetch and jose.So on Cloudflare Workers a webhook route needs nodejs_compat; Deno and Bun provide node:crypto already. If you would rather not enable it, the webhooks guide has a dependency-free verification you can paste, and WebCrypto’s crypto.subtle covers the same ground.3
Keys in a Worker
A Worker has no
process.env. Bind the secret and read it off the environment argument, so the key is never inlined into the script.
