| Email + password sign-up/sign-in | user_auth_module + emails_module + app_settings_auth.allow_password_sign_up | auth:email, auth:email+magic, auth:sso, auth:passkey, auth:hardened, b2b, full | constructive-platform |
| Magic link sign-in | session_secrets_module + emails_module + app_settings_auth.allow_magic_link_sign_in | auth:email+magic, auth:hardened, b2b, full | constructive-platform |
| Email OTP | session_secrets_module + emails_module + toggle | auth:email+magic, auth:hardened, b2b, full | constructive-platform |
| Phone / SMS sign-in | phone_numbers_module + toggle | auth:hardened, b2b, full | constructive-platform |
| OAuth / SSO (federated identity) | identity_providers_module + connected_accounts_module | auth:sso, auth:hardened, b2b, full | constructive-platform |
| Passkeys (WebAuthn) | webauthn_credentials_module + webauthn_auth_module + session_secrets_module | auth:passkey, auth:hardened, b2b, full | constructive-platform |
| Rate limits / throttling | rate_limits_module (optional — see module-presets.md) | auth:hardened, b2b, full | constructive-platform |
| Device tracking (passive) | devices_module + app_settings_device.enable_device_tracking | full | constructive-platform |
| Trusted devices (MFA bypass) | devices_module + app_settings_device.enable_trusted_devices | full | constructive-platform |
| Device approval gate (email) | devices_module + app_settings_device.require_device_approval | full | constructive-platform |
| Force MFA on new devices | devices_module + app_settings_device.require_mfa_new_device | full | constructive-platform |
| User settings (extensible 1:1 preferences) | user_settings_module | b2b, full | constructive-platform |
| Sessions (server-side) | sessions_module | all presets except minimal-without-auth | constructive-platform |
| API keys | user_state_module + principal_auth_module | all presets | constructive-principals |
| Principals (scoped sub-identities for API keys & agents) | principal_auth_module (auto with user_auth_module) | all auth presets | constructive-principals |
| Read-only API keys (transaction-level) | accessLevel: 'read_only' on the key | — (per-key) | constructive-principals |
| Org-scoped API keys / agent credentials | createOrgApiKey + principalEntity scoping | b2b, full | constructive-principals |
| Encrypted secrets (per-user) | config_secrets_user_module | auth:email+, b2b, full | constructive-platform |
| Encrypted secrets (org-scoped) | config_secrets_org_module | standalone (not in presets yet) | constructive-platform |
| Encrypted secrets (app-wide, admin-only) | app_secrets (part of config_secrets_user_module) | auth:email+, b2b, full | constructive-platform |
| Web3 wallet addresses | crypto_addresses_module | full | constructive-platform |
| Password reset / forgot password | emails_module + auth procs | auth:email+ | constructive-platform |
| Email verification | emails_module + auth procs | auth:email+ | constructive-platform |
| Local email testing (dev only) | — | — | constructive-platform |