A Claude Skill that takes your requisition list, your tool ledger, and your evidence pack, and returns a control matrix showing which employment-AI obligations attach to which req, which controls you can actually prove, and which gaps accrue penalties per day. It grades on artifacts you supply — a published bias-audit URL, a consent timestamp export, a deletion runbook — not on vendor claims, and it never emits a compliant/non-compliant verdict. The output is the thing you hand counsel so their first hour starts at the judgment calls instead of at “which tools do you use, and where?”
When to use
You are turning on an AI interviewer, an AI video screen, or resume ranking, and someone asked what the exposure is before it goes live.
A req just opened in a jurisdiction your stack has not served before. Remote-eligible reqs are the usual trigger: a single “US-wide” posting can attach New York City, Illinois, and California obligations at once.
The annual NYC bias-audit renewal is approaching and you need to know which tools are in scope before booking the auditor — auditor engagements are quoted per tool.
A candidate asked how the decision was made, or requested deletion of their interview, and nobody is sure what the runbook is.
When NOT to use
To produce the bias audit itself.NYC Local Law 144 requires an independent auditor with no employment or financial relationship with the employer that would compromise independence. A skill you run cannot be that auditor. This skill checks whether an independent audit exists, is within its clock, and is published in the required form.
As a sign-off. There is no aggregate score in the output, deliberately. A number invites someone to screenshot it into a board deck as a clean bill of health.
After a charge or demand letter lands. At that point the artifact set is discovery material and counsel drives. Generating a parallel internal assessment of the same facts creates a document you did not need.
On stacks with no automated scoring. If a human reads every application and nothing ranks or filters, most of the matrix does not attach.
Outside the US. The bundled matrix covers federal, state, and city rules only. EU AI Act Annex III employment duties are a different scope and would need their own reference file.
Setup
Drop the bundle at apps/web/public/artifacts/ai-interview-compliance-audit-skill/SKILL.md into your Claude Code skills directory, with the references/ folder alongside it.
Have counsel review the matrix once.references/1-jurisdiction-matrix.md holds every statutory parameter the skill grades against — the 10-business-day NYC notice window, the 30-day Illinois destruction window, the four-year California retention floor. One review pass, then keep the checked: date current. The skill refuses to grade if that date is more than 90 days old.
Fill the ledger.references/2-tool-and-stage-ledger.md wants reqs with work locations, and one row per tool that touches a candidate between application and offer. Include the tools you did not buy for screening — ATS match scores and sourcing fit scores are the ones teams forget, and they rank.
Record review capacity. Part C of the ledger asks how many applications a human actually reviews per req. “400 applicants, recruiter works the top 40” is the fact that turns a ranking tool into a functional filter, whatever the configuration screen calls it.
Assemble the evidence pack per references/3-evidence-pack-index.md. Fifteen artifact rows; write MISSING where it is missing. That first pass is usually where the real finding shows up.
What the skill actually does
Six steps. Scope resolves before any control is graded, because the same configuration is lawful in one state and a per-day violation in another — and because the most common real-world error is scoping the audit to where the company is headquartered rather than to where candidates apply from.
Resolve scope. Build a req × jurisdiction × stage matrix. If a req has no work-location list, the skill stops and asks rather than inferring from the company address. Reqs open to states the evidence pack has no artifacts for come back as gap, not not-applicable.
Classify each tool from configuration. Four questions: does the output gate a stage transition at any threshold; does it sort a list a recruiter works top-down; does a human see the score before making the call; does it analyze video or audio for characteristics used to evaluate fitness. The vendor’s own label goes in a separate column and is never the answer. The Local Law 144 test turns on whether the output substantially assists or replaces discretionary decision-making, which is a fact about your setup, not about their product — and the vendor has an incentive to read it narrowly.
Grade each control on evidence, with a citation. Four statuses: evidenced (artifact cited verbatim, with the passage that does the work), unevidenced (probably fine in practice, nothing to show), gap, and counsel-review. There is no compliant. A control with no citation cannot be evidenced — that rule is what stops a fluent report about documents nobody has.
Run deterministic date checks. Bias-audit clock, flagged at 10 months rather than 12 so there is runway to book the auditor. Notice lead time counted in business days against the tool’s first run. Illinois consent captured before the interview, not bundled into a post-interview acknowledgment — ordering is the entire control. Deletion runbook turnaround against the 30-day window, and whether it names downstream recipients and backups or only the primary ATS.
Order remediation by exposure. New York City counts each day an in-scope tool runs out of compliance as a separate violation, and each missed candidate notice as its own separate violation, at up to $500 for a first violation and $500 to $1,500 for subsequent ones. A notice gap on a 400-applicant-per-month req therefore compounds against a fixed remediation cost; the same gap on a paused req does not. The list sorts on that difference.
Emit the report. Matrix, deterministic results, remediation, then the counsel-review items verbatim with both readings stated.
What changed recently, and why the matrix is a file
Colorado is the reason the statutory parameters live in a dated reference file instead of in the model’s head. SB 24-205 — the 2024 Colorado AI Act, with its risk-management programs and annual impact assessments — never took effect. Its start date moved from February 2026 to June 2026, and then SB 26-189, signed 14 May 2026, replaced it with a narrower notice-and-transparency framework effective 1 January 2027: pre-use notice, a plain-language disclosure within 30 days of an adverse outcome, a right to request human review, and a three-year records floor. Any checklist still grading impact assessments is auditing a repealed statute. The Colorado AI Act explainer walks the replacement in full.
Illinois moved too. The AI Video Interview Act has run since 2020, but the Human Rights Act amendment banning discriminatory AI effects — including zip code as a proxy for a protected class — took effect 1 January 2026, and the Department of Human Rights notice rules are still in rulemaking after a withdrawn first draft. California’s FEHA automated-decision-system regulations have applied since 1 October 2025, with a four-year records floor that points the opposite way from a candidate’s deletion request. The skill surfaces that tension rather than resolving it.
The December 2025 executive order directing a DOJ task force to challenge state AI laws is in the matrix as context, not as a control. No state rule above has been displaced. Treat it as a reason to keep controls documented and portable, not as a reason to retire a row.
Cost reality
Per audit run — roughly 40-80k input tokens (matrix, ledger, notice texts, vendor docs) and 6-10k output. At Claude Sonnet list rates that is about $0.30-0.60 per run. Estimate, from the token shape of a three-req, five-tool stack.
Setup — 90 minutes, and that number is honest only if the evidence pack already exists somewhere. Teams assembling it for the first time spend 4-8 hours, most of it finding out that a control everyone assumed was handled has no artifact behind it.
Counsel time saved — an outside employment-counsel first pass on a multi-jurisdiction stack runs 8-20 hours at $350-700/hour, much of it intake: what tools, which reqs, which states, what does the score do. Arriving with a filled ledger and a graded matrix moves that intake in-house. The judgment calls still bill.
What it does not save — the independent bias audit. That is a separate engagement, quoted per tool, and this skill cannot substitute for it.
Success metric
Unevidenced count trending to zero. The first run’s split between evidenced and unevidenced is the real baseline. Controls moving from unevidenced to evidenced without any operational change is the intended outcome — it means the artifact now exists.
Bias-audit clock never past 10 months. A deterministic check that should never fire twice on the same tool.
Notice lead-time distribution, not average. Track the fifth percentile of business days between notice and first tool run per req. Averages hide the fast-moving reqs, which are exactly where the lead time fails.
Time from new-jurisdiction req to graded matrix. Should land under a day once the ledger exists.
vs alternatives
vs a spreadsheet checklist. The status quo, and it fails on two specific things: it scopes by company location rather than per req, and it has no clock, so a bias audit silently ages past 12 months while the tool keeps running. The skill’s step 1 and step 4 exist because of those two failures.
vs vendor compliance attestations.HireVue, Sapia.ai, and others publish bias-audit summaries for their models. Useful, and they satisfy vendor-side rows. They do not satisfy yours: the Local Law 144 duty sits with the employer or employment agency, and the audit that matters covers your configuration and your candidate pool. The evidence index keeps vendor and employer artifacts in separate columns so this cannot blur.
vs a dedicated audit vendor. Firms that perform independent AEDT bias audits do the thing the skill structurally cannot. Use the skill as the readiness pass before you engage one — arriving with a classified tool ledger cuts scoping back-and-forth — and as the between-audits recheck when a req opens in a new state.
vs asking counsel to run the whole thing. Correct for the judgment calls, expensive for the inventory. The split this workflow proposes: you own the ledger and the evidence pack, counsel owns the matrix review and the counsel-review queue.
Watch-outs
The model states a legal conclusion.Guard: the status vocabulary has no compliant/non-compliant value and there is no aggregate score. Judgment calls route to counsel-review with both readings printed.
Statutory parameters drift.Guard: thresholds live in references/1-jurisdiction-matrix.md with a checked: date, and the skill refuses to grade past 90 days. This landscape moved three times between August 2025 and May 2026.
A vendor attestation gets counted as your compliance.Guard: row 14 of the evidence index is marked vendor-side and cannot satisfy the employer’s audit or publication rows.
Scoping to headquarters.Guard: step 1 will not proceed without per-req work locations, and remote-eligible reqs expand to every state in the accepted list.
Classification laundering.Guard: classification comes from configuration facts in the ledger, with review-capacity data attached. A tool that ranks 400 applicants where a human reviews 40 is doing decision work whatever its label says.
unevidenced read as a pass.Guard: those rows sort into remediation alongside gaps, with the missing artifact named.
Retention and deletion pulling opposite ways.Guard: the California four-year floor and an Illinois deletion request collide on the same record. Step 4 flags the conflict; counsel decides it once and the report cites that memo.
Stack
The bundle lives at apps/web/public/artifacts/ai-interview-compliance-audit-skill/ and contains:
SKILL.md — the skill definition
references/1-jurisdiction-matrix.md — statutory parameters with a checked: date
references/2-tool-and-stage-ledger.md — fillable req, tool, and review-capacity inventory
references/3-evidence-pack-index.md — control-to-artifact mapping plus notice and consent scaffolding
Assumes Claude for the run. The stack under audit typically includes an ATS such as Greenhouse and one or more AI screening tools — HireVue, Sapia.ai, or similar.
---
name: ai-interview-compliance-audit
description: Audit a configured AI interviewing and screening stack against the US employment-AI rules that are live today — NYC Local Law 144, the Illinois AI Video Interview Act, the Illinois Human Rights Act AI amendment, California's FEHA automated-decision-system regulations, and Colorado SB 26-189 — and emit a control matrix plus a remediation list ordered by penalty exposure. Grades controls on evidence you supply, not on vendor marketing claims. Produces a readiness report, never a legal conclusion.
---
# AI interview compliance audit
## When to invoke
Use this skill when someone owns a hiring stack that includes AI screening, AI-scored video or async interviews, AI interviewers, or resume-ranking, and needs to know which controls are evidenced, which are missing, and what to hand counsel. Typical triggers: a new AI interviewing vendor going live, a req opening in a jurisdiction the stack has not served before, an annual bias-audit renewal, or a candidate complaint.
Inputs are configuration and artifacts. The skill reads what the stack actually does — which score gates which stage — and what documents exist to prove each control.
Do NOT invoke this skill for:
- **Producing the bias audit itself.** NYC Local Law 144 requires an *independent* auditor with no employment or financial relationship with the employer that would compromise independence. A skill run by the employer is not independent and cannot satisfy that duty. This skill checks whether an independent audit exists, is within its clock, and is published in the required form.
- **A legal opinion, or a "we are compliant" sign-off.** The output is a readiness report with an evidence status per control. It never emits a compliant/non-compliant verdict.
- **Non-US stacks.** The jurisdiction matrix in `references/1-jurisdiction-matrix.md` covers US federal, state, and city rules only. EU AI Act Annex III employment obligations are a different scope and a different reference file.
- **Stacks with no automated scoring at all.** If humans read every application and no tool ranks, scores, or filters candidates, most of the matrix does not attach and the run is wasted effort. Confirm the classification question in step 2 before a full run.
- **Retroactive defense of a decision already challenged.** Once there is a charge or a demand letter, the artifact set is discovery material. Counsel drives; do not generate parallel internal assessments of the same facts.
## Inputs
- Required: `reqs` — the open or planned requisitions in scope, each with the job's work location(s) and whether remote candidates are accepted from other states. Jurisdiction attaches by where the candidate applies for or performs the job, not by where the company is headquartered. See `references/2-tool-and-stage-ledger.md`.
- Required: `tool_ledger` — every tool touching a candidate between application and offer, with the stage it runs at and what its output does (displayed to a recruiter, sorts a list, sets a threshold, advances or rejects automatically). Same file.
- Required: `evidence_pack` — paths or URLs for the artifacts that prove controls: candidate-facing notice text, consent capture record, published bias-audit summary URL, data-retention policy, vendor DPA, deletion-request runbook. See `references/3-evidence-pack-index.md`.
- Optional: `jurisdiction_matrix_path` — override the bundled matrix with your counsel's maintained copy. Recommended once you have one.
- Optional: `as_of` — the date to run clock arithmetic against. Defaults to today.
## Reference files
- `references/1-jurisdiction-matrix.md` — every statutory parameter the skill grades against, with a `checked:` date. The skill reads thresholds from this file and never from model memory.
- `references/2-tool-and-stage-ledger.md` — fillable inventory template for reqs, tools, stages, and what each score actually gates.
- `references/3-evidence-pack-index.md` — control-to-artifact mapping, plus scaffolding for the notice and consent language each rule requires.
## Method
Six steps. Scope resolves before any control is graded, because the same configuration is lawful in one jurisdiction and a per-day violation in another, and because the most common real-world error is scoping the audit to company headquarters.
### 1. Resolve scope before grading anything
Build a req × jurisdiction × stage matrix from `reqs`. A single remote-eligible req can attach NYC, Illinois, California, and Colorado at once. If any req lacks a work-location list, stop and ask — do not infer jurisdiction from the company address, and do not grade a partial matrix.
Flag reqs open to candidates in states the evidence pack has no artifacts for. That cell is `gap`, not `not-applicable`.
### 2. Classify each tool from configuration, not from its label
For each tool in `tool_ledger`, answer from the configuration:
- Does its output gate a stage transition automatically, at any threshold?
- Does it sort or rank a candidate list that a recruiter works top-down?
- Does a recruiter see the score before making the advance/reject call?
- Is it analyzing a video or audio interview for characteristics used to evaluate fitness?
Read the vendor's own classification as an input to be checked, not as the answer. A vendor has an incentive to say its product merely assists, and the LL 144 test turns on whether the output substantially assists or replaces discretionary decision-making — which is a fact about your configuration, not about their product. Record the classification, the configuration facts that drove it, and dissent from the vendor label explicitly where it exists.
The video/audio question is separate and additive: the Illinois AI Video Interview Act attaches to AI analysis of video interviews for Illinois positions regardless of whether the tool also qualifies as an automated employment decision tool.
### 3. Grade each control on evidence, with a citation
For each applicable control in the jurisdiction matrix, assign exactly one status:
- `evidenced` — an artifact in the evidence pack satisfies the control. Requires a verbatim citation: file path or URL, plus the quoted passage that does the work.
- `unevidenced` — the control is plausibly satisfied in practice but no artifact was supplied. This is not a pass. It is the state that turns into a gap the moment anyone asks for proof.
- `gap` — the artifact exists and does not satisfy the control, or the required artifact does not exist.
- `counsel-review` — the determination turns on a judgment call (whether a given tool substantially assists a decision, whether a notice's placement counts as before the interview). The skill states the facts and the competing readings, and stops.
There is no `compliant` status and no aggregate compliance score. Both invite the reader to treat the report as a conclusion. A control with no citation cannot be `evidenced`, which is the guard against a fluent report about documents nobody actually has.
### 4. Run the deterministic date and arithmetic checks
These are computed, not judged, and they surface first because they are the cheapest failures to fix:
- **Bias-audit clock.** Parse the published date of the most recent bias audit. Flag at 10 months, not at 12, so there is runway to schedule the auditor. Past 12 months the tool is out of clock while still in use — which accrues per-day.
- **Notice lead time.** Compare the candidate-notice timestamp to the tool's first run against that candidate. The NYC requirement is at least 10 business days, counted in business days.
- **Consent ordering.** For Illinois video interviews, confirm consent is captured before the interview, not bundled into a post-interview acknowledgment. Ordering is the whole control.
- **Deletion SLA.** Check the deletion runbook's stated turnaround against the 30-day statutory window, and confirm it names downstream recipients and backups rather than only the primary system.
- **Retention floor.** California's FEHA regulations require automated-decision-system records — selection criteria, outputs, audit findings — kept four years. Flag any retention policy that deletes earlier, including a well-intentioned privacy-minimization policy. Cross-check the deletion SLA against the retention floor and surface the conflict rather than resolving it; that tension is a counsel call.
### 5. Order remediation by exposure, not by effort
Rank gaps by how the penalty accrues. NYC counts each day an in-scope tool runs out of compliance as a separate violation, and each missed candidate notice as its own separate violation — so a missing notice on a high-volume req compounds daily against a fixed remediation cost. A gap on a paused req does not. Give each gap: the accrual shape, the artifact that would close it, and who owns it.
### 6. Emit the report
Control matrix first, then the deterministic-check results, then remediation ordered by exposure, then the `counsel-review` list verbatim.
## Output format
```markdown
# AI interview compliance readiness — as of 2026-07-28
Matrix version: references/1-jurisdiction-matrix.md (checked: 2026-07-28)
## Scope
| Req | Work locations | Attaches |
|---|---|---|
| ENG-411 | NYC + remote US | NYC LL 144; IL AIVIA; IL HRA; CA FEHA ADS |
## Tool classification
| Tool | Stage | Output gates | AEDT (configuration) | Vendor label | Dissent |
|---|---|---|---|---|---|
| HireVue | async video screen | recruiter sees score before advance/reject | yes | "decision support" | yes — score precedes the call |
## Controls
| Jurisdiction | Control | Status | Citation |
|---|---|---|---|
| NYC LL 144 | Independent bias audit within 12 months | evidenced | careers.example.com/aedt — "date of most recent bias audit: 2026-03-14" |
| NYC LL 144 | 10 business days candidate notice | gap | notice fires at invite, 2 business days before |
| IL AIVIA | Consent captured before interview | counsel-review | consent is on the invite page; candidate can start without scrolling |
## Deterministic checks
- Bias-audit clock: 4.5 months elapsed — OK (flags at 10)
- Notice lead time: 2 business days vs 10 required — FAIL
- Deletion runbook: names primary ATS only; no downstream or backup step — FAIL
## Remediation (by exposure)
1. NYC notice lead time — ENG-411 is live and high-volume; each missed notice is a separate violation and each day of use accrues. Fix: move notice to the application confirmation. Owner: TA ops.
## Counsel review
1. IL AIVIA consent placement on ENG-411. Facts: [...]. Competing readings: [...].
```
## Watch-outs
- **The model asserts a legal conclusion.** *Guard:* the status vocabulary has no compliant/non-compliant value and the report has no aggregate score. Judgment calls route to `counsel-review` with both readings stated.
- **Statutory parameters drift.** *Guard:* thresholds live in `references/1-jurisdiction-matrix.md` with a `checked:` date; the skill refuses to grade and warns if that date is more than 90 days old. This landscape moved three times between August 2025 and May 2026.
- **Vendor attestation counted as employer compliance.** *Guard:* the evidence index separates vendor artifacts from employer artifacts, and a vendor bias-audit summary can only satisfy vendor-side rows. The LL 144 duty sits with the employer or employment agency.
- **Scoping to headquarters.** *Guard:* step 1 will not proceed without per-req work locations, and remote-eligible reqs expand to every state in the accepted-candidate list.
- **Classification laundering.** *Guard:* classification is answered from configuration facts recorded in the ledger; the vendor's label is a separate column, and disagreement is printed rather than reconciled.
- **Unevidenced read as a pass.** *Guard:* `unevidenced` rows sort into the remediation list alongside gaps, with the missing artifact named.
- **Retention and deletion pulling opposite ways.** *Guard:* step 4 surfaces the conflict between a deletion request and the four-year records floor as a flagged tension rather than picking one.
# Jurisdiction matrix
```yaml
checked: 2026-07-28
checked_by: REPLACE_WITH_YOUR_NAME
```
The skill reads every threshold from this file and never from model memory. Update `checked:` whenever you re-verify against primary sources. The skill warns and refuses to grade if the date is more than 90 days old — this landscape moved three times between August 2025 and May 2026, and a stale matrix produces a confident report against rules that no longer apply.
This is a working parameter table maintained by the employer, not legal advice. Have counsel review it once and then keep it current.
---
## NYC Local Law 144 of 2021 — automated employment decision tools
**Status:** in effect; enforced by the Department of Consumer and Worker Protection since 2023-07-05.
**Attaches when:** an automated employment decision tool (AEDT) is used to substantially assist or replace discretionary decision-making for a job or promotion, for a position located in New York City. Employment agencies are covered alongside employers.
| Control | Parameter | Notes |
|---|---|---|
| Independent bias audit | Within the 12 months preceding use, renewed annually | Auditor must have no involvement in using, developing, or distributing the tool and no employment or financial relationship with the employer that compromises independence |
| Published audit summary | Publicly available on the careers or jobs section of the website | Must include the date of the most recent bias audit and the distribution date of the tool |
| Metrics published | Selection or scoring rates and impact ratios by sex, by race/ethnicity, and by intersectional sex × race/ethnicity categories | The four-fifths screen is the conventional read on the impact ratio |
| Candidate notice | At least **10 business days** before use | Business days, not calendar days |
| Notice contents | That an AEDT will be used; the job qualifications and characteristics it assesses | |
| Data disclosure on request | Within **30 days** of a written request, if not already published | Data collected, source of the data, retention policy |
| Penalty — first violation | Up to $500 | |
| Penalty — subsequent violations | $500 to $1,500 each | |
| Accrual | Each day an AEDT is used in violation is a separate violation; each failure to provide a required notice is a separate violation | This is what makes notice gaps on high-volume reqs the top remediation item |
**The load-bearing determination** is whether the tool substantially assists or replaces discretionary decision-making. It turns on your configuration, not the vendor's product description.
---
## Illinois Artificial Intelligence Video Interview Act (820 ILCS 42)
**Status:** in effect since 2020-01-01.
**Attaches when:** an employer asks applicants to record video interviews and uses AI analysis of those videos to consider applicants' fitness, for positions based in Illinois.
| Control | Parameter | Source |
|---|---|---|
| Notice before the interview | Applicant is told AI may be used to analyze the video and consider fitness | Section 5 |
| Explanation before the interview | How the AI works and the general types of characteristics it uses to evaluate applicants | Section 5 |
| Consent before the interview | Consent to be evaluated by the AI as described; no consent means no AI evaluation | Section 5 |
| Sharing limited | Videos shared only with persons whose expertise or technology is necessary to evaluate fitness | Section 10 |
| Destruction on request | Within **30 days** of the applicant's request, delete the interviews and instruct every other recipient to delete their copies, including all electronically generated backup copies | Destruction section |
| Demographic reporting | Applies only to employers that rely **solely** on AI analysis of the video to decide whether an applicant advances to an in-person interview. Report race and ethnicity of applicants afforded and not afforded in-person interviews, and of applicants hired | Reporting section |
| Reporting deadline | Annually by **December 31**, covering the 12-month period ending the preceding November 30, to the Department of Commerce and Economic Opportunity | DCEO reports to the Governor and General Assembly by July 1 on whether the data discloses racial bias |
**Ordering is the control.** Notice, explanation, and consent must all precede the interview. A post-interview acknowledgment does not cure it.
**The sole-reliance trigger** is narrow and most stacks fall outside it because a recruiter reviews before the in-person decision. Record the fact that puts you outside it; do not assume it.
---
## Illinois Human Rights Act, as amended by HB 3773
**Status:** statutory obligations in effect since 2026-01-01. Illinois Department of Human Rights rulemaking is still open — proposed amendments to Title 44, Part 2520 of the Illinois Administrative Code were published 2026-05-15, after an earlier draft was withdrawn.
| Control | Parameter |
|---|---|
| Discriminatory-effect prohibition | AI may not be used with the effect of subjecting employees or applicants to discrimination on a protected basis, in recruitment, hiring, promotion, renewal, selection for training or apprenticeship, discharge, discipline, tenure, or terms and conditions of employment. Intent is not required |
| Proxy prohibition | Using zip code as a proxy for a protected class is prohibited outright |
| Notice | Required whenever AI is used in a covered employment decision, regardless of whether the use has any discriminatory purpose or effect |
**Notice mechanics — timing, form, and content — are the subject of the open rulemaking.** Grade the notice-existence row now and put the mechanics row in `counsel-review` until the rules land.
---
## California — FEHA regulations on automated-decision systems
**Status:** in effect since 2025-10-01.
**Attaches when:** an employer uses artificial intelligence, machine learning, algorithms, statistics, or other data processing to facilitate human decision-making on recruitment, hiring, or promotion of applicants or employees in California.
| Control | Parameter |
|---|---|
| Records retention | **Four years** for automated-decision-system records, including selection criteria, relevant outputs, and audit findings |
| Third-party liability | The employer is answerable for discriminatory outcomes of a tool sourced from a vendor or run by an agent |
| Anti-bias testing | Not mandated. Evidence of testing may support a defense; the absence of it is admissible against the employer |
**The retention floor conflicts with privacy-minimization defaults and with deletion requests.** Surface the tension; do not resolve it in the report.
---
## Colorado SB 26-189 — automated decision-making technology
**Status:** signed 2026-05-14; effective **2027-01-01**. Attorney General rulemaking pending, and key terms will be defined there.
This replaced SB 24-205, the 2024 Colorado AI Act, which never took effect. SB 24-205's delayed start moved from 2026-02-01 to 2026-06-30 (SB 25B-004, signed 2025-08-28) and was then superseded. **The risk-management program, annual impact assessments, and broad algorithmic-discrimination duties of SB 24-205 are gone.** Any checklist still grading against them is auditing a repealed statute.
| Control | Parameter |
|---|---|
| Pre-use notice | Clear notice that a covered automated decision-making technology will be applied, before use |
| Post-adverse-outcome disclosure | Plain-language description of the technology's role, within **30 days** after a consequential decision producing an adverse outcome |
| Human review | The individual may request meaningful human review and reconsideration of the decision |
| Records | Retain relevant records at least **three years** |
Grade Colorado rows as forward-looking readiness until the effective date. Do not report a Colorado gap as accruing exposure today.
---
## Federal posture — context, not a control
Executive Order "Ensuring a National Policy Framework for Artificial Intelligence" (signed 2025-12-11) directs a Department of Justice AI Litigation Task Force, stood up from 2026-01-10, to challenge state AI laws in federal court, and directed Commerce to identify state laws suitable for challenge by March 2026.
**No state law in this matrix has been displaced by it.** Preemption of a state statute requires a court to say so or Congress to act. Treat the federal posture as a reason to keep controls documented and portable — not as a reason to retire any row above. Note it in the report's assumptions section so the reader knows it was considered.
---
## Not covered by this matrix
Add rows before relying on the skill for any of these: EU AI Act Annex III employment obligations; Maryland's facial-recognition consent requirement; Texas TRAIGA; New York State requirements distinct from the City's; sector rules for federal contractors; and any collective-bargaining commitments on automated evaluation.
# Tool and stage ledger
Fill this out before the first run. It is the input the classification step reasons over, and it is the artifact that makes a later audit reproducible. Replace every `REPLACE_` value.
## Part A — Requisitions in scope
Jurisdiction attaches by where the job is located and where the candidate applies from, not by where the company is headquartered. A remote-eligible req attaches every state in its accepted-candidate list.
| Req ID | Title | Work locations | Remote-eligible states accepted | Volume (applicants/mo) | Status |
|---|---|---|---|---|---|
| REPLACE_ENG-411 | Backend Engineer | New York, NY | US-wide except CO | 400 | open |
| REPLACE_SLS-102 | Account Executive | Chicago, IL | IL only | 120 | open |
| REPLACE_OPS-220 | RevOps Analyst | Remote US | CA, NY, IL, TX | 60 | planned |
If a req's accepted-state list is "anywhere in the US," write that out and expect the matrix to attach every jurisdiction in `1-jurisdiction-matrix.md`. That is usually the finding, not a formality.
## Part B — Tool ledger
One row per tool that touches a candidate between application and offer. Include tools you did not buy for screening but that score or rank anyway — ATS match scores and sourcing-tool fit scores are the ones teams forget.
| Tool | Stage | What it outputs | Who sees it and when | Does it gate a transition? | Threshold | Video/audio analysis? | Vendor's own label |
|---|---|---|---|---|---|---|---|
| REPLACE_HireVue | async video screen | competency scores 1-5 | recruiter, before advance/reject | no auto-advance; recruiter decides | none | yes | "decision support" |
| REPLACE_Greenhouse | application review | match score, sorts the list | recruiter, list is worked top-down | no | none | no | "ranking aid" |
| REPLACE_vendor | resume screen | pass/fail | nobody; auto-rejects | yes | score under 60 auto-rejects | no | "efficiency filter" |
### The four classification questions
Answer from configuration. The vendor's label goes in its own column and is never the answer.
1. **Does the output gate a stage transition automatically, at any threshold?** An auto-reject threshold is the clearest case.
2. **Does it sort or rank a list a recruiter works top-down?** Rank order changes who gets reviewed at all when volume exceeds review capacity. Record the review-capacity number — "400 applicants, recruiter reviews the top 40" is the fact that matters.
3. **Does a human see the score before making the call?** A score presented before the decision is a different fact from a score available afterward on request.
4. **Does it analyze video or audio for characteristics used to evaluate fitness?** Independent of the other three, and it is what pulls the Illinois AI Video Interview Act in for Illinois-based positions.
### Configuration facts to capture per tool
- Where the score appears in the recruiter's interface, and whether it can be hidden.
- Whether the score is recorded on the candidate record and for how long.
- Whether the vendor retrains on your candidate data, and whether that is contractually disclaimed.
- Which sub-processors receive candidate video or audio. This is the list the Illinois destruction obligation reaches.
- Who at the vendor can access candidate video, and under what contractual limit.
## Part C — Review-capacity reality
Fill this in honestly; it decides whether a ranking tool is functionally a filter.
| Req | Applicants/mo | Applications actually reviewed by a human | Effective filter rate |
|---|---|---|---|
| REPLACE_ENG-411 | 400 | 40 | 90% never human-reviewed |
A ranking tool with a 90% effective filter rate is doing decision-making work regardless of what the configuration screen calls it. Record this and let the classification step use it.
# Evidence pack index
Every control graded `evidenced` needs a citation from this pack: a file path or URL plus the passage that does the work. A control with no artifact is `unevidenced`, and `unevidenced` sorts into remediation next to real gaps — because the difference between "we do this" and "we can show we do this" only matters on the day someone asks, and on that day there is no time to build the artifact.
## Part A — Artifact inventory
Fill in the path or URL. Leave `MISSING` where it is missing; that is the point of the exercise.
| # | Artifact | Satisfies | Side | Location |
|---|---|---|---|---|
| 1 | Published AEDT bias-audit summary page | NYC LL 144 publication + metrics | employer | REPLACE_URL |
| 2 | Independent auditor's report and engagement letter | NYC LL 144 audit + independence | employer | REPLACE_PATH |
| 3 | Candidate AEDT notice text, with the send trigger documented | NYC LL 144 notice + contents | employer | REPLACE_PATH |
| 4 | Timestamp export: notice sent vs tool first run, per candidate | NYC LL 144 10-business-day lead | employer | REPLACE_PATH |
| 5 | Illinois video notice + explanation text | 820 ILCS 42 Section 5 | employer | REPLACE_PATH |
| 6 | Consent capture records with timestamps | 820 ILCS 42 Section 5 ordering | employer | REPLACE_PATH |
| 7 | Sub-processor list for video and audio | 820 ILCS 42 Section 10 sharing limit | employer | REPLACE_PATH |
| 8 | Deletion runbook naming downstream recipients and backups | 820 ILCS 42 destruction, 30 days | employer | REPLACE_PATH |
| 9 | Sole-reliance determination memo | 820 ILCS 42 reporting trigger | employer | REPLACE_PATH |
| 10 | Illinois HRA AI-use notice text | IL HRA as amended | employer | REPLACE_PATH |
| 11 | ADS records retention schedule showing four years | CA FEHA ADS | employer | REPLACE_PATH |
| 12 | Anti-bias testing results, if any were run | CA FEHA ADS defense | employer | REPLACE_PATH |
| 13 | Vendor DPA with retraining and access terms | supports 7, 8, 11 | vendor | REPLACE_PATH |
| 14 | Vendor's own bias-audit summary | vendor-side rows only | vendor | REPLACE_URL |
| 15 | Data-retention policy published on the careers site | NYC LL 144 disclosure on request | employer | REPLACE_URL |
**Row 14 cannot satisfy rows 1 or 2.** A vendor's audit of its model is not the employer's audit of the employer's use. The NYC duty sits with the employer or employment agency. Vendors sell attestation packets that read as if they close the employer's obligation; they close the vendor's.
## Part B — Notice scaffolding
Adapt; do not paste. The bracketed values are the ones that make a notice specific enough to be worth anything, and a notice that omits them is the most common `gap` finding.
### NYC AEDT notice — at least 10 business days before use
> We use an automated employment decision tool to help evaluate applications for [JOB TITLE]. The tool assesses the following job qualifications and characteristics: [LIST THEM — the actual assessed dimensions, not "fit"]. The results of our most recent bias audit and our data-retention policy are published at [URL]. You may request an alternative selection process or an accommodation by contacting [ADDRESS]. To request information about the data we collect for this tool, its source, and our retention policy, contact [ADDRESS]; we will respond within 30 days.
Send it on the application-confirmation event, not on the assessment invite. Invite-time sending is what fails the 10-business-day count on fast-moving reqs, and it is the single most common lead-time failure.
### Illinois video interview — notice, explanation, and consent, all before the interview
> This interview will be recorded and may be analyzed by artificial intelligence to consider your fitness for [JOB TITLE]. How it works: [PLAIN-LANGUAGE EXPLANATION — what the system does with the recording]. The general types of characteristics it uses to evaluate applicants are: [LIST THEM]. Your video will be shared only with people whose expertise or technology is necessary to evaluate your fitness for this position. You may request that we delete your interview at any time by contacting [ADDRESS]; we will delete it, and instruct everyone who received a copy to delete theirs including backups, within 30 days.
>
> [ ] I consent to being evaluated by artificial intelligence as described above.
The consent checkbox must be reachable and actionable before the recording starts. If a candidate can begin recording without passing the consent control, that is a `counsel-review` at best.
### Illinois HRA AI-use notice
Notice mechanics are in open rulemaking as of the `checked:` date in `1-jurisdiction-matrix.md`. Give notice that AI is used in the decision, keep the text versioned, and grade the mechanics row as `counsel-review` until the rules land.
## Part C — Evidence hygiene
- **Version the notice text and keep the diffs.** The question is never "what does the notice say," it is "what did it say on the day this candidate applied."
- **Timestamps beat policies.** A policy saying notice goes out 10 days ahead is weaker evidence than an export showing it did.
- **Keep the negative determinations.** The memo explaining why a tool is out of scope is an artifact. An undocumented determination reads later as an oversight.
- **Watch the retention conflict.** The four-year California floor and a candidate's Illinois deletion request point opposite ways on the same record. Decide it with counsel once, write the decision down, and cite that memo rather than re-deciding per request.