Immutable
release. Only release title and notes can be modified.
- Optional Sign in with Vercel on
/dev-console(PKCE authorize + callback + logout) that sets a signed HttpOnly identity session cookie for Flagsidentify interactiveRedesignnow uses a dedupedidentifyreturning{ user?: { id, email } }so Segments can target Dylan by email/sub- Wired
NEXT_PUBLIC_VERCEL_APP_CLIENT_ID/VERCEL_APP_CLIENT_SECRETthroughconfig/env.secrets.keys - Docs: colocated how-it-works at
apps/web/src/auth/vercel/README.md, with short pointers from rootREADME.md(Env Vars) andAGENTS.md(Environment / secrets + agent surfaces)
Human dashboard checklist (required before it works)
- Vercel → Team Settings (
dylan-gattey) → Apps → Create app - Authorization callback URLs:
http://localhost:3000/api/auth/vercel/callbackhttps://dylangattey.com/api/auth/vercel/callback- Optionally preview project URL
/api/auth/vercel/callback
- Permissions / scopes:
openid,email,profile(skipoffline_access— we store a signed session, not Vercel refresh tokens) - Copy Client ID + Client Secret into project env (Preview + Production) and 1Password vault
dgitems (same names,valuefield):NEXT_PUBLIC_VERCEL_APP_CLIENT_IDVERCEL_APP_CLIENT_SECRET
- Flags → Entities:
userwith string attributesid,email - Flags → Segments: e.g.
dylanwithuser.email equals hi@dylangattey.comoruser.id equals <sub from first login> - Flag
interactive-redesign→ target segmentdylan→true
Security: any Vercel account can complete OAuth. “Just me” is the segment rule on your id/email, not the login button.
How to verify
- Sign in on
/dev-console→ confirm email/id shown - Confirm segment + flag attachment in the dashboard
- Reload site → footer
redesign on/ flag true for that session - Toolbar overrides remain a zero-code fallback without this login