Behind Jambotron's Caddy the app saw http while the browser used https, so same-domain requests looked cross-origin and @CrossOrigin answered 403 on /api/auth/signin. server.forward-headers-strategy=framework makes the app use X-Forwarded-Proto/Host; app.origin can be set via APP_ORIGIN. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>