Skip to content

ADR 0028 — Sign in with Apple is the application identity provider

Status

Accepted. Revises ADR 0005.

Context

Sprint 01 shipped a signed HTTP-only ia_session cookie with no external IdP (MAIL-73 / ADR 0005). That cookie shape is still correct: claims are an allowlist, CSRF lives inside the signed cookie, and Microsoft Graph / Gmail tokens stay in the MAIL-74 secret store.

The owner then chose Sign in with Apple as the application identity provider (MAIL-181). Application login is a different concern from mailbox provider OAuth (ADR 0011 / ADR 0015). The owner session (POST /api/session/owner) remains an ops escape when OWNER_SESSION_ENABLED is true; it is not a second product IdP.

Decision

Alternatives considered

Consequences