
일리노이는 EU AI Act가 유지를 원하는 우편번호 필드를 금지한다. 나는 합격 판정 대신 그 사실을 말하는 AI 채용 감사를 만들었다.
뉴욕주 감사원장은 2025년 12월 2일, 시 소비자·노동자보호국(DCWP)이 Local Law 144 하에 이미 검토한 동일한 32개사 표본을 재검토하여, DCWP가 발견한 위반 1건 대신 잠재적 위반 17건을 집계했다. DCWP는 선제적 집행으로 전환하기로 합의했다.
나는 그 내용을 읽고 핵심 공학 과제가 '탐지'라고 가정했다. 첫 번째 검토에서 놓친 편향을 잡아내는 무언가를 만들면 된다고 생각했다. 그런데 규칙 팩을 작성하면서 생각이 바뀌었다. 탐지는 쉬운 절반에 불과했기 때문이다. 어려운 절반은 이것이다. 뉴욕, 콜로라도, 일리노이, 텍사스, 캘리포니아, EU 전역에 자동화된 채용 도구를 운용하는 고용주는 여섯 형태의 서류를 각각 요구하는 여섯 규제 기관을 상대해야 하며, 적어도 한 곳에서는 두 기관이 동일한 데이터 열에서 정반대의 것을 요구한다.
그래서 나는 그에 맞는 컴플라이언스 오버레이를 만들었다. 고용주가 이미 운용하는 AI 채용 도구 위에 올라앉아 벤더 점수 내보내기 파일 하나를 읽고, 결정론적 코드로 모든 불리적 영향 통계를 산출한 뒤, 단일 감사를 여섯 개 관할권 형태의 산출물로 분기하는 콘솔, 즉 Clarion이다. 작동 방식은 veriprajna.com/demos/ai-hiring-compliance에서 확인할 수 있다. 아래의 모든 내용은 가상의 고용주 "Acme Logistics, Inc."의 채용 공고 REQ-2026-0412에 대한 1,040명의 지원자 기록을 담은 시드된 합성 내보내기 파일을 기준으로 실행된다. 엔진이 찾아야 할 위반을 내가 직접 데이터에 심었기 때문에, 엔진이 정확히 무엇을 찾아야 하는지 알 수 있다.
합격하는 감사는 법이 요구하는 감사가 아니다
내가 데이터셋을 심었음에도 첫 번째 결과는 여전히 나를 짜증나게 했다. 벤더 자체 감사가 제출하는 한계 5분의 4 테스트는 깔끔하게 합격한다. 최소 인종 영향 비율 0.8196으로, 히스패닉과 흑인이 그 최솟값에 나란히 위치하며, 최소 성별 비율은 0.8744다. 두 수치 모두 0.80 기준선 이상이다. 코드는 이 합격을 어디에도 단언하지 않는다. 0.8196은 고정 데이터에서 연산이 반환한 값이며, 그 자체로 기준선을 통과한다. 화면의 요금표에 명확히 나와 있다. 벤더는 여기서 멈춘다.
Local Law 144는 여기서 멈추지 않는다. 교차적 인종×성별 비율을 요구하는데, 합성 지원자들은 세 가지 시뮬레이션 도구(Workday-Spotlight 방식 점수기, HireVue 방식 영상 면접, Eightfold 방식 매칭 엔진)로 점수가 매겨진다. 이 도구들은 합성 데이터를 기반으로 한 고정 어댑터이며, 실제 통합이 아닌 원형이다. 같은 기록을 인종과 성별로 분류하면 그림이 뒤집힌다. 130명 중 68명을 52.31%의 비율로 통과시킨 백인/남성 기준 셀과 비교할 때, 흑인/여성 셀은 130명 중 44명, 즉 33.85%를 통과시킨다. 영향 비율 0.6471. 히스패닉/여성도 0.7647로 불합격한다.

히스패닉/여성은 내가 내 자신의 엔진과 논쟁한 부분이다. 알파 0.05에서의 Benjamini-Hochberg 위발견율 제어 하에, 통계적으로 견고한 셀은 q = 0.0185인 흑인/여성 셀뿐이다. 히스패닉/여성은 q = 0.1629로, 엔진은 이를 표시하되 유의미하다고 명시적으로 판정하지 않는다. 나는 두 셀 모두 집계되기를 원했다. 두 셀이 불합격하는 편이 하나보다 더 설득력 있는 이야기이기 때문이다. 엔진은 견고한 발견과 우연한 발견을 구별하는데, 이는 내가 보고서의 반대편에 있는 고용주라면 내 숫자에도 적용받고 싶은 동일한 기준이다.
여섯 규제 기관, 여섯 가지 서로 다른 문서
나는 여섯 규칙 팩을 차례로 작성하면서 계속 단일 점수로 통합하려 했다. 하나의 숫자가 대시보드가 담을 수 있는 것이고 구매자가 기대하는 것이기 때문이다. 그러나 그것은 법령과의 접촉에서 한 번도 살아남지 못했다. 뉴욕시는 교차적 불리적 영향 보고서와 게시된 공개 요약을 원한다. 콜로라도의 SB 24-205는 문서화된 합리적 주의 영향 평가와 리스크 관리 프로그램을 원하며 방법론을 전혀 명시하지 않는다. 2026년 6월 30일 발효. 텍사스 TRAIGA는 불균등 영향을 독립적 근거로 거부하고 의도에 대해 묻는다. 캘리포니아의 FEHA ADS 개정안은 2025년 10월 1일부터 발효되어 또 다른 형태의 문서를 요구한다. EU AI Act는 채용을 Annex III 고위험으로 분류하고, 2026년 8월 2일부터 Article 10 데이터 거버넌스와 Article 11 기술 파일을 요구한다.
단일 점수는 텍사스 팩에서 무너졌다. 나는 이미 교차적 비율을 기반으로 뉴욕시 산출물을 구성했는데, TRAIGA는 바로 그 통계를 자체 평가에서 증거로 무관한 것으로 만들어 버린다. 따라서 하나의 숫자가 두 가지를 동시에 의미하도록 적용할 수 있는 가중치가 없었다. 여섯 가지 다른 질문이 여섯 가지 다른 형태로 제기되며, 공정성 점수는 그 중 대략 하나 반을 답한다. 그래서 Clarion은 여섯 개의 산출물을 각자의 인용, 발효일, 필요한 형태를 갖추어 생성하며, 콘솔의 헤드라인 타일은 등급이 아닌 적용 범위를 보고한다. 관할권 산출물 6개, 최저 영향 비율 0.65, 인간 조치 필요 항목 9개.

그 혼합 열이 정직한 출력이며, 동시에 누구도 제공하지 않는 출력이다. 코넬, Data & Society, Consumer Reports의 연구자들은 Local Law 144가 요구하는 감사를 위해 뉴욕시 고용주 391곳을 확인한 결과, 그 중 4.6%에서만 공개된 편향 감사를 발견했다(FAccT 2024). 의무는 발효 중이다. 이에 대한 컴플라이언스는 반올림 오차에 가까우며, 내 해석으로는 그 격차의 상당 부분은 벤더의 단일 합격 비율이 문제를 해결했다고 진정으로 믿는 고용주들에게서 비롯된다.
zip_region에 대한 Cramér's V 0.3321, 그리고 서로 반대를 원하는 두 체제
나는 우편번호 문제를 이해하기 전에 우편번호 문제를 위한 리졸버를 작성했고, 그것을 삭제하는 순간 제품의 형태가 바뀌었다. 엔진은 상관관계로 보호 계층 프록시를 탐지하는데, zip_region은 인종 대비 Cramér's V 0.3321, 편향 보정 후 0.3253으로 0.2 임계값을 초과한다. 이것은 프록시다. 이것은 모든 것을 표시하는 휴리스틱도 아니다. school_tier는 동일한 실행에서 0.0711로 기준을 통과한다.
일리노이 HB 3773은 2026년 1월 1일부터 발효되어 우편번호를 보호 계층 프록시로 사용하는 것을 금지하므로, 일리노이 안전 구성은 지리 정보를 마스킹한다. EU AI Act Article 10(3)은 훈련 데이터가 관련성 있고, 대표성 있으며, 완전해야 한다고 요구하는데, 실제로는 일리노이가 제거하라고 지시한 바로 그 지리적 적용 범위에 의존한다. 해당 필드를 마스킹하면 EU 대표성 의무가 약해진다. 유지하면 일리노이 규정이 위반된다. 하나의 모델 구성으로 두 가지를 동시에 충족할 수 없다.
내 리졸버는 승자를 선택했다. 두 노출을 비교하고, 더 큰 것을 선택한 뒤, 반대편에 대해 깔끔한 상태를 내보냈다. 이것은 정확히 제출 문서에 허위 진술을 넣는 행위다. 나는 그것을 제거하고 게이트가 도달할 수 있는 판정으로 교체했다. CONFLICT. 그러면 조정자는 인증서 대신 법적 전략 메모를 작성한다. 두 가지 배포 구성을 실행하라. 일리노이 추론을 위한 전체 지리적 마스크와 EU 훈련 데이터를 위한 더 거친 지역 피처. 또는 하나의 구성이 의무화된 경우, 더 큰 노출을 가진 체제를 선택하고 수용된 위험을 문서화하라. EU 고위험 벌금은 법정 최대치로 1,500만 유로 또는 전 세계 연간 매출의 3% 중 더 큰 금액에 달한다.

법정에서 '준수'라고 표시된 대시보드는 증거물이다. '우리는 알았고, 두 분기 모두의 비용을 산정했으며, 선택했다'고 적힌 메모는 방어 수단이다.
그것이 내가 법무총괄(General Counsel)로서 매번 할 거래이며, 구매자를 안심시키기 위해 만들어진 제품은 절대 제공하지 않을 거래다. 왜냐하면 안심시키는 버전이 훨씬 잘 팔리기 때문이다. 증언 녹취(deposition) 직전까지는.
나는 내 자신의 시스템을 합격으로 설득하려 했다
나는 내가 가장 두려워하던 실험을 진행했다. 더 나은 판정을 얻기 위해 프롬프트로 길을 낼 수 있는지 알아보는 것이었다. Clarion에는 여섯 개의 관할권 에이전트, 하나의 충돌 조정자, 하나의 적대적 회의론자가 있으며, Pydantic AI 기반에 공급자를 바꿀 수 있다. 나는 서술 프롬프트를 분기별 압박을 받는 벤더처럼 관대하게 기울어지도록 다시 작성했다. 산문은 더 따뜻해졌다. 숫자는 하나도 바뀌지 않았고 판정도 하나도 바뀌지 않았다. 모든 통계, 모든 임계값 비교, 모든 게이트 결정은 engine.py 와 rulepacks.py에 있으며, 에이전트 프레임워크 바깥에 완전히 존재하기 때문이다.
같은 속성이 반대 방향으로도 나타난다. 모델 공급자가 전혀 구성되지 않은 상태에서도, 크루는 결정론적 템플릿으로 폴백하고 앱은 동일하게 실행된다. 동일한 여섯 개 산출물, 동일한 0.6471, 동일한 CONFLICT. 에이전트는 조언하고, 코드가 결정하며, 12개 중 12개의 엔진 테스트가 심어진 실제값을 고정하여 한계 합격과 교차 불합격이 실행 간에 표류할 수 없게 한다.
에이전트는 법령을 읽고 메모를 작성할 수 있다. 임계값이 초과되었는지를 결정하는 주체가 될 수는 없다. 왜냐하면 에이전트의 동의는 더 나은 프롬프트로 살 수 있기 때문이다.
나는 처음부터 그런 관점을 가지고 시작하지 않았다. 에이전트가 제품이고 산술은 배관이라고 생각하며 시작했는데, 정확히 반대였다. 공급자를 바꾸고, 프롬프트를 바꾸고, 키 없이 실행했는데, 엔진은 여전히 흑인/여성에서 0.6471을, zip_region에서 CONFLICT를 반환했다. 모델에 대한 어떤 개선이든 메모의 산문을 개선할 뿐, 감사자가 확인할 어떤 것도 개선하지 않는다.
합격한 편향 감사가 건드리지 않은 세 가지 법적 이론
나는 적대적 회의론자가 통계에 대해 논쟁할 것으로 예상하며 구축했는데, 회의론자는 범위에 대해 논쟁하는 데 시간을 보냈다. 세 가지를 녹색으로 승인하기를 거부하며, 각각은 합격한 편향 감사가 다루지 않는 별개의 법적 이론이다.
첫 번째는 자체 분류다. '우리 점수기는 AEDT가 아닙니다'라고 주장하는 벤더 메모는 거부된다. 왜냐하면 Mobley v. Workday에서 제기된 에이전트 이론 하에, 지원자를 추천하거나 필터링하는 도구는 결정 내부에 있기 때문이다. 이 이론은 미결 상태이며 판례가 아니다. 이것이 해당 항목이 상태 색상이 아닌 범위 확인을 위해 인간 법률 자문으로 라우팅되는 이유다.
두 번째는 접근성이다. 영상 면접을 거친 432명의 지원자 중, 표준 발화의 단어 오류율은 0.0794이고 비표준 발화를 가진 104명의 지원자에서는 0.3016으로, 3.8배의 격차가 있다. 이는 Local Law 144가 전혀 테스트하지 않는 부분인데, LL144는 인종과 성별에 관한 것이기 때문이다. D.K. v. Intuit/HireVue에서 제기된 이론은 ADA 이론이며, 완벽한 편향 감사에서도 건드리지 않은 채 살아남는다. Clarion은 격차를 탐지하고 인간 ADA 검토로 라우팅한다. 편의 시설 제공 워크플로를 구축하지는 않으며, 그렇게 가장하지도 않겠다.
세 번째는 FCRA로, 공정성에 전혀 관심이 없다. 이 내보내기에서 510명의 지원자가 제3자가 스크랩한 데이터에서 점수를 매기고 숫자 점수로 필터링되었으며, 이것이 Kistler v. Eightfold에서 쟁점이 된 패턴이다. 플랫폼이 소비자 신고 기관이라면, 점수를 받은 모든 지원자는 결과가 얼마나 균형 잡혀 있더라도 불리 조치 통지와 이의 신청 경로를 받을 자격이 있다. Clarion은 트리거를 탐지하고 불리 조치 및 이의 신청 인프라로 라우팅한다. 지원자 대면 포털도 구축하지 않는다. 나는 이것이 세 가지 중 가장 직관적이지 않으며, 공정성에서 모든 것을 올바르게 한 팀이 가장 놓칠 가능성이 높은 것이라고 생각한다. 통계의 어떤 것도 답을 알려주지 않기 때문이다. FCRA가 묻는 질문은 플랫폼이 무엇인가에 관한 것이며, 기업은 보고서의 모든 영향 비율을 통과하고도 한 번도 보내지 않은 통지를 수백 명에게 보낼 의무를 질 수 있다.

서명하는 사람에게 건네줄 패키지
나는 전체 구축 과정 내내 눈앞에 하나의 질문을 붙여 두었다. 실제로 서명하는 사람이 필요한 것은 무엇인가? 그것은 점수가 아니다. 여섯 체제에 걸쳐 엔진은 13개의 의무를 평가하고 2 PASS, 2 FAIL, 7 NEEDS_PROOF, 2 CONFLICT를 반환한다. 이 시드된 합성 내보내기의 적용 범위로 표현하면, 13개 의무 중 2개는 데이터만으로 자동 충족되고, 9개는 NEEDS_PROOF 또는 CONFLICT이기 때문에 지명된 인간에게 라우팅된다. 자동화로 판매되는 시스템에서 이 비율은 실패처럼 보인다. 감사로서는 내가 내 이름을 걸 수 있는 유일한 형태다.
내보내기는 17개 노드의 SHA-256 해시 체인 번들로, 각 노드는 이전 노드의 해시에 연결된다. 따라서 어떤 노드든 편집하면 체인이 끊긴다. JSON과 인쇄 가능한 HTML 패킷으로 내보내지며, 모든 숫자는 입력값과 계산을 포함하고 모든 판정은 인용을 포함한다. 체인은 각 실행마다 검증되며 변조 방지는 단위 테스트로 확인된다.

Veriprajna는 이것에 서명하지 않는다. 독립적인 Local Law 144 감사자 역할은 DCI, ORCAA, Secretariat 같은 기관에 속하며, 패키지의 전체 설계 목표는 그 중 하나가 먼저 다시 작성하지 않고도 서명할 수 있는 것이다. 충돌 메모를 포함한 전체 실행 과정은 veriprajna.com/demos/ai-hiring-compliance에서 볼 수 있다.
그리고 내가 설명하는 것을 읽기보다 게이트가 거부하는 것을 직접 보고 싶다면, 충돌 메모를 포함한 전체 실행이 여기 있다.
충돌 메모는 고용주를 그 전날과 정확히 같은 수준의 컴플라이언스 상태로 남겨둔다. 메모가 추가하는 것은, 가독성 있고 날짜가 기재되며 귀속 가능한 트레이드오프다. 그래서 2년 후, 누군가 누가 우편번호 필드를 유지하기로 결정했고 그 결정 당시 무엇을 알고 있었는지 물어볼 때, 설명이 필요한 녹색 배지 대신 답하는 문서가 있게 된다.








