How Atlas supports disparate-impact testing on its employment-decision surfaces using customer-supplied demographic overlays and the EEOC 4/5 rule. This document is the technical companion to Atlas AI Use Policy.
Atlas does not infer protected attributes from any data source — not names, photos, schools, or any other proxy. This is a hard line, restated in CLAUDE.md and enforced at the route layer (see /api/oi/roster-ai-query input + output filter).
All demographic data used in a bias audit arrives intact from the customer's HRIS export (with employee consent), never reconstructed by Atlas. The customer is the controller of demographic data; Atlas is the processor of audit math.
Three Atlas surfaces emit "selection" events that are auditable for disparate impact:
For each protected dimension supplied in the customer overlay (age band, gender, race/ethnicity, disability status, veteran status, national origin), Atlas computes:
When any cohort has fewer than 30 employees, the runner surfaces the ratio for transparency but suppresses the auto-flag — small-sample noise produces spurious ratios on sub-30 cohorts (EEO-1-adjacent rule of thumb).
The audit runner is a pure, deterministic function: src/lib/bias-audit/runner.ts. Same inputs always yield the same outputs. No clock reads, no randomness, no LLM calls.
Admin trigger: POST /api/admin/bias-audit/run (gated to the workspace admin allowlist). Body: { surface: "opportunity_intelligence" | "roster_ai_query" | "talent_phantom" }.
Scaffolding ship 2026-06-29: the runner + admin route are live; ProtectedClassOverlay upload + the bias_audit_runs persistence table land when the first paying customer with a demographic-overlay export onboards.
This methodology is designed to support documentation requirements under:
This page is informational, not legal advice. Customers should engage their own employment counsel for jurisdictional applicability and compliance posture.