Sensors
Producers of evidence
Anything that emits a fact about a tenant lives here. DNS sensors run on Vercel and probe the internet. The MFA scanner runs in-database, computing facts from auth.mfa_factors and account_user_roles in the same transaction as the trigger that fires it. External integrations live on Fly.io with vault-stored OAuth credentials. Manual overrides at account_policies are the human-curated input lane.
- /DNS sensors -> Vercel /api/scan/<check> per-sensor endpoints
- /MFA scanner -> SQL trigger on accounts.require_mfa + daily pg_cron
- /GitHub MFA (Fly.io) -> provider plugin reads the OAuth-scoped GitHub API
- /Manual overrides -> account_policies.custom_config and applicability flags