8RR8← All audits

Audit Report

drhus/ai-auditor

8d681f7e9bee · ran in 34.8s · bundle fb69bd0f

LLM-assisted · 9 judgments
Complete audit →

Overall score

2.4 /4

Partial

Risk class

HIGH

1

Code passed

22 / 45

Attestation Yes

0

Outstanding ext.

1

Overall completion status
Code findings on the left; user-attested external evidence on the right.
45

CODE-CHECKED CLAUSES

  • Strong15
  • Adequate7
  • Partial10
  • Inadequate5
  • Absent8
0

ATTESTATION QUESTIONS

  • Yes0
  • No0
  • Not Applicable0
  • Outstanding0

Harm

Don't hurt people

2.2/4

Partial

Truth

Don't deceive people

2.1/4

Partial

Responsibility

Don't abuse power

2.5/4

Partial

Order

Don't destabilize society

3.0/4

Adequate

1 outstanding external confirmations — required for a complete Annex IV dossier. Complete now →

Safety

Don't harm people
2.7/4Adequate6 clauses
PARTIAL
Risk management system established, implemented, documented EU AI Act, Art 9
LLM
2/3 rules

2/4

Why we flagged it

Composite raw score 0.55 (2/3 rules matched). Supporting docs may exist outside the repo. LLM judge (confidence 0.62): Risk identification and analysis are evidenced (risk register and threat model), but the absence of documented CI/CD evaluation gates creates ambiguity about whether the 'continuous iterative process' and 'regular systematic review and updating' requirements are satisfied throughout the entire lifecycle. Human judgment needed to assess whether evaluation gates exist outside the repository or if alternative continuous monitoring mechanisms are documented elsewhere.

Confidence
62%
Evidence · 2 hits— click to view code
RISK_REGISTER.md
presence_of_risk_register
View on GitHub →
SECURITY.md
presence_of_threat_model
View on GitHub →

Suggested fix · we looked for these and found none

  • ci_eval_gates
INADEQUATE
Resilience to errors, faults, inconsistencies EU AI Act, Art 15(4)
0/3 rules

1/4

Why we flagged it

Composite raw score 0.16 (0/3 rules matched).

Confidence
81%
Evidence · 2 hits— click to view code
src/data/seed-audits/aud_01KRQE8QXXNMC85QQY8RV5.json:90
langchain_import
View on GitHub →
nippet": "import os from langchain.callbacks.streaming_stdout import StreamingStdOutCallbackHandler from langchain_openai import ChatOpenAI"
src/data/seed-audits/aud_01KRQE8QXXNMC85QQY8RV5.json:90
langchain_import
View on GitHub →
dOutCallbackHandler from langchain_openai import ChatOpenAI", "rule": "langchain_import" }, { "f

Suggested fix · we looked for these and found none

  • error_handling_at_tool_boundaries
  • retry_logic
  • fallback_behaviour
ADEQUATE
Risks and benefits to people identified NIST AI RMF, Art MAP 3.4
2/2 rules

3/4

Why we flagged it

Composite raw score 0.80 (2/2 rules matched). Supporting docs may exist outside the repo.

Confidence
80%
Evidence · 2 hits— click to view code
RISK_REGISTER.md
presence_of_risk_register
View on GitHub →
SECURITY.md
presence_of_threat_model
View on GitHub →
STRONG
AI risk assessment process ISO/IEC 42001, Art 6.1
2/2 rules

4/4

Why we flagged it

Composite raw score 1.00 (2/2 rules matched). Supporting docs may exist outside the repo.

Confidence
60%
Evidence · 2 hits— click to view code
RISK_REGISTER.md
presence_of_risk_register
View on GitHub →
RISK_REGISTER.md
risk_assessment_methodology_documented
View on GitHub →
PARTIAL
Operational planning and control ISO/IEC 42001, Art 8.1
skip
1/2 rules

2/4

Why we flagged it

Composite raw score 0.50 (1/2 rules matched). Supporting docs may exist outside the repo.

Confidence
100%
Evidence · 1 hit— click to view code
RUNBOOK.md
presence_of_runbook
View on GitHub →

Suggested fix · we looked for these and found none

  • presence_of_ci_workflows
STRONG
Data protection impact assessment (DPIA) GDPR, Art 35
1/1 rules

4/4

Why we flagged it

Composite raw score 1.00 (1/1 rules matched). Supporting docs may exist outside the repo.

Confidence
55%
Evidence · 1 hit— click to view code
DPIA.md
presence_of_dpia
View on GitHub →

Privacy

Respect boundaries
1.6/4Partial6 clauses
ABSENT
Untargeted facial image scraping for face databases EU AI Act, Art 5(1)(e)
1/1 rules

0/4

Why we flagged it

Composite raw score 1.00 (1/1 rules matched).

Confidence
55%
Evidence · 6 hits— click to view code
regulations/eu-ai-act-2024-08.yaml:32
biometric_terms
View on GitHub →
" description: "Biometric ID, categorisation, emotion recognition" - signal: critical_infra_signals category: "2" description:
regulations/eu-ai-act-2024-08.yaml:62
biometric_terms
View on GitHub →
otion recognition / biometric categorisation" - signal: agent_framework # any interactive AI is in scope paragraph: "50(1)"
regulations/eu-ai-act-2024-08.yaml:231
biometric_terms
View on GitHub →
calls (mediapipe, face_recognition, dlib, opencv haar cascade). score_mapping: { pass_default: 4, fail_on_match: 0 } remediation_h
package-lock.json:3913
scraping_pattern
View on GitHub →
"^1.1.0", "@playwright/test": "^1.51.1", "babel-plugin-react-compiler": "*", "react": "^18.2.0 || 19.0.0-rc-de68d2f4
package-lock.json:3923
scraping_pattern
View on GitHub →
}, "@playwright/test": { "optional": true }, "babel-plugin-react-compiler": { "optional":

…and 1 more.

ABSENT
Emotion recognition in workplace and education EU AI Act, Art 5(1)(f)
1/1 rules

0/4

Why we flagged it

Composite raw score 1.00 (1/1 rules matched).

Confidence
55%
Evidence · 6 hits— click to view code
src/pipeline/stages/recon.ts:348
emotion_terms
View on GitHub →
ms", pattern: /\b(?:emotion_detect|emotion_recognition|sentiment_score|affect_recognition|facial_emotion|micro_expression)\b/gi }, // ---
src/pipeline/stages/recon.ts:348
emotion_terms
View on GitHub →
\b(?:emotion_detect|emotion_recognition|sentiment_score|affect_recognition|facial_emotion|micro_expression)\b/gi }, // ----- data_io ----
src/pipeline/stages/recon.ts:348
emotion_terms
View on GitHub →
emotion_recognition|sentiment_score|affect_recognition|facial_emotion|micro_expression)\b/gi }, // ----- data_io ----- { signal: "data_
src/data/seed-audits/aud_01KRQE8M7ZDZ6TDM5MTGT9.json:1001
employment_terms
View on GitHub →
ppet": "OMMANDS for candidate in tokens[index + 1:]: if candidate in {\"|\", \";\", \"&&\", \"||\"}: break f", "rule": "employme
src/data/seed-audits/aud_01KRQE8M7ZDZ6TDM5MTGT9.json:1001
employment_terms
View on GitHub →
ens[index + 1:]: if candidate in {\"|\", \";\", \"&&\", \"||\"}: break f", "rule": "employment_terms" }, {

…and 1 more.

EXTERNAL
Real-time remote biometric identification in public spaces EU AI Act, Art 5(1)(h)
EXT

Why we flagged it

Deployment context (public space, real-time, law enforcement use, judicial authorisation) is operational, not knowable from code. Always external.

Confidence
100%
ABSENT
Data and data governance practices documented EU AI Act, Art 10
0/3 rules

0/4

Why we flagged it

Composite raw score 0.10 (0/3 rules matched). Supporting docs may exist outside the repo.

Confidence
75%
Evidence · 2 hits— click to view code
package-lock.json:3913
scraping_pattern
View on GitHub →
"^1.1.0", "@playwright/test": "^1.51.1", "babel-plugin-react-compiler": "*", "react": "^18.2.0 || 19.0.0-rc-de68d2f4
package-lock.json:3923
scraping_pattern
View on GitHub →
}, "@playwright/test": { "optional": true }, "babel-plugin-react-compiler": { "optional":

Suggested fix · we looked for these and found none

  • presence_of_data_card
  • data_loading_code_quality
  • bias_evaluation_present
STRONG
Privacy risk of the AI system evaluated NIST AI RMF, Art MEASURE 2.8
2/2 rules

4/4

Why we flagged it

Composite raw score 1.00 (2/2 rules matched).

Confidence
60%
Evidence · 7 hits— click to view code
regulations/nist-ai-rmf-1.0.yaml:290
pii_redaction_present
View on GitHub →
description: "Code redacts or hashes PII before logging or sending to external models" - rule: privacy_documentation weig
src/data/seed-audits/aud_01KRQE8M7ZDZ6TDM5MTGT9.json:817
pii_redaction_present
View on GitHub →
p \"$SCRIPT_DIR/mcp/redaction.js\" \"$TARGET_ABS/mcp/\" cp \"$SCRIPT_DIR/mcp/lib/\"*.js \"$TARGET_ABS/mcp/lib/\" rm -rf \"$TARGET_ABS/mcp/li
src/data/seed-audits/aud_01KRQE8M7ZDZ6TDM5MTGT9.json:826
pii_redaction_present
View on GitHub →
t the proof needed, redact sensitive data, and report responsibly.</p></div> </div> </div> <div class=\"foot\"><span", "rule": "
src/data/seed-audits/aud_01KRQE8M7ZDZ6TDM5MTGT9.json:835
pii_redaction_present
View on GitHub →
h MCP, which writes redacted audit metadata and egress information.</p> </div> <div class=\"code-card\"> <div", "rule": "pii_red
src/data/seed-audits/aud_01KRQE8M7ZDZ6TDM5MTGT9.json:844
pii_redaction_present
View on GitHub →
n>Audited requests, redacted URLs, visible egress</span></div> </section> <section class=\"slide\" data-title=\"Egress\"> <", "r

…and 2 more.

STRONG
Data protection by design and by default GDPR, Art 25
2/2 rules

4/4

Why we flagged it

Composite raw score 1.00 (2/2 rules matched). Supporting docs may exist outside the repo.

Confidence
60%
Evidence · 6 hits— click to view code
src/pipeline/anchor.ts:149
pseudonymisation_or_anonymisation
View on GitHub →
crypto.createHash("sha256")
src/pipeline/loader.ts:416
pseudonymisation_or_anonymisation
View on GitHub →
crypto.createHash("sha256")
src/pipeline/stages/recon.ts:315
pseudonymisation_or_anonymisation
View on GitHub →
redact
src/pipeline/stages/report.ts:64
pseudonymisation_or_anonymisation
View on GitHub →
crypto.createHash("sha256")
PRIVACY.md
default_minimal_data_collection
View on GitHub →

…and 1 more.

Transparency

Don't deceive people
2.3/4Partial7 clauses
STRONG
Subliminal techniques distorting behaviour EU AI Act, Art 5(1)(a)
0/1 rules

4/4

Why we flagged it

Composite raw score 0.00 (0/1 rules matched).

Confidence
55%

Suggested fix · we looked for these and found none

  • detect_manipulative_prompt_patterns
INADEQUATE
Transparent operation and instructions for use EU AI Act, Art 13
1/3 rules

1/4

Why we flagged it

Composite raw score 0.25 (1/3 rules matched). Supporting docs may exist outside the repo.

Confidence
90%
Evidence · 3 hits— click to view code
README.md
readme_quality
View on GitHub →

2 required sections present

README.md
output_interpretation_guidance
View on GitHub →
README.md
limitations_section_present
View on GitHub →

Suggested fix · we looked for these and found none

  • output_interpretation_guidance
  • limitations_section_present
INADEQUATE
Users informed they are interacting with an AI EU AI Act, Art 50(1)
1/2 rules

1/4

Why we flagged it

Composite raw score 0.20 (1/2 rules matched).

Confidence
80%
Evidence · 1 hit— click to view code
README.md
ai_disclosure_in_user_facing_strings
View on GitHub →

Suggested fix · we looked for these and found none

  • ai_disclosure_in_user_facing_strings
ADEQUATE
AI-generated content marked as such, machine-readable EU AI Act, Art 50(2)
2/2 rules

3/4

Why we flagged it

Composite raw score 0.82 (2/2 rules matched).

Confidence
78%
Evidence · 8 hits— click to view code
.agent/docs/analysis-tiers.md:102
c2pa_or_watermark
View on GitHub →
ent provenance | no c2pa imports → ABSENT | "API response contains `aiGenerated:true` / C2PA header" | | GDPR Art 5(1)(c) — PII in logs | gr
.agent/docs/analysis-tiers.md:102
c2pa_or_watermark
View on GitHub →
aiGenerated:true` / C2PA header" | | GDPR Art 5(1)(c) — PII in logs | grep `user.email` near `logger.info` | "fake PII sent → grep all captu
.agent/docs/llm-judge-policy.md:78
c2pa_or_watermark
View on GitHub →
` | 50(2) | **1** | C2PA / watermark library imports | | `art-50/p3-emotion-biometric-disclosure` | 50(3) | **1** | Deterministic disclosure
.agent/docs/pipeline-design.md:75
c2pa_or_watermark
View on GitHub →
ovenance_hooks` | C2PA, watermarking, content labelling | Article 50(2) synthetic content disclosure
.agent/docs/regulations-matrix.md:63
c2pa_or_watermark
View on GitHub →
o/text) | C | C2PA / watermarking libraries; metadata writers; output post-processing. | | 50(3) | Emotion-recognition / biometri

…and 3 more.

ABSENT
Emotion recognition / biometric categorisation disclosure EU AI Act, Art 50(3)
0/1 rules

0/4

Why we flagged it

Composite raw score 0.00 (0/1 rules matched).

Confidence
55%
Evidence · 1 hit— click to view code
README.md
emotion_or_biometric_disclosure_string
View on GitHub →

Suggested fix · we looked for these and found none

  • emotion_or_biometric_disclosure_string
ADEQUATE
Deepfake content labelled as artificially generated EU AI Act, Art 50(4)
skip
1/1 rules

3/4

Why we flagged it

Composite raw score 0.70 (1/1 rules matched).

Confidence
85%
Evidence · 2 hits— click to view code
.agent/docs/analysis-tiers.md:102
c2pa_or_watermark
View on GitHub →
ent provenance | no c2pa imports → ABSENT | "API response contains `aiGenerated:true` / C2PA header" | | GDPR Art 5(1)(c) — PII in logs | gr
.agent/docs/analysis-tiers.md:102
c2pa_or_watermark
View on GitHub →
aiGenerated:true` / C2PA header" | | GDPR Art 5(1)(c) — PII in logs | grep `user.email` near `logger.info` | "fake PII sent → grep all captu
STRONG
Principles relating to processing of personal data GDPR, Art 5
2/2 rules

4/4

Why we flagged it

Composite raw score 1.00 (2/2 rules matched). Supporting docs may exist outside the repo.

Confidence
60%
Evidence · 3 hits— click to view code
PRIVACY.md
presence_of_privacy_policy
View on GitHub →
PRIVACY.md
purpose_limitation_documented
View on GitHub →
README.md
purpose_limitation_documented
View on GitHub →

Auditability

Actions must be traceable
1.9/4Partial8 clauses
INADEQUATE
Technical documentation drawn up before placing on market EU AI Act, Art 11
1/3 rules

1/4

Why we flagged it

Composite raw score 0.15 (1/3 rules matched). Supporting docs may exist outside the repo.

Confidence
80%
Evidence · 1 hit— click to view code
README.md
readme_quality
View on GitHub →

2 required sections present

Suggested fix · we looked for these and found none

  • presence_of_model_card
  • architecture_docs
ABSENT
Automatic recording of events over the lifetime EU AI Act, Art 12(1)
LLM
1/3 rules

0/4

Why we flagged it

Composite raw score 0.58 (1/3 rules matched). LLM judge (confidence 0.85): The evidence shows only ad-hoc console.log() statements at tool boundaries, which are runtime output rather than persistent, structured automatic logging. The clause requires technically enabled automatic recording over the system's lifetime, necessitating structured logging import and a persistent sink—neither of which matched the deterministic rules.

Confidence
85%
Evidence · 8 hits— click to view code
scripts/seed-audit.ts:38
log_at_tool_boundary
View on GitHub →
x.ts"), content); console.log(` rewrote index.ts (${entries.length} seeds)`); } async function main() { const args = process.argv.slic
scripts/seed-audit.ts:64
log_at_tool_boundary
View on GitHub →
-1.0"], }; console.log(`\n=== ${owner}/${repo} (id=${input.auditId}) ===`); const t0 = Date.now(); try { const report
scripts/seed-audit.ts:68
log_at_tool_boundary
View on GitHub →
evt.kind === "log") console.log(` [${evt.stage}] ${evt.text}`); else if (evt.kind === "stage") console.log(` [${evt.stage}] phase=
scripts/seed-audit.ts:69
log_at_tool_boundary
View on GitHub →
t.kind === "stage") console.log(` [${evt.stage}] phase=${evt.phase}${evt.durationMs ? ` (${evt.durationMs}ms)` : ""}`); else if (ev
scripts/seed-audit.ts:70
log_at_tool_boundary
View on GitHub →
= "classification") console.log(` ✦ risk=${evt.classification} annex=${evt.annexIii.join("/")} art50=${evt.art50.join("/")}`); else

…and 3 more.

Suggested fix · we looked for these and found none

  • structured_logging_imported
  • logging_persistent_sink
PARTIAL
Logging ensures traceability appropriate to risk EU AI Act, Art 12(2)
LLM
2/3 rules

2/4

Why we flagged it

Composite raw score 0.68 (2/3 rules matched). Supporting docs may exist outside the repo. LLM judge (confidence 0.62): The system demonstrates input/output pair logging and model identity tracking (0.75 weighted compliance), but lacks explicit request_id correlation in reviewed logs, preventing full traceability chain. Evidence shows audit-level logging rather than request-level granularity needed for deterministic request tracking.

Confidence
62%
Evidence · 8 hits— click to view code
scripts/seed-audit.ts:38
log_at_tool_boundary
View on GitHub →
x.ts"), content); console.log(` rewrote index.ts (${entries.length} seeds)`); } async function main() { const args = process.argv.slic
scripts/seed-audit.ts:64
log_at_tool_boundary
View on GitHub →
-1.0"], }; console.log(`\n=== ${owner}/${repo} (id=${input.auditId}) ===`); const t0 = Date.now(); try { const report
scripts/seed-audit.ts:68
log_at_tool_boundary
View on GitHub →
evt.kind === "log") console.log(` [${evt.stage}] ${evt.text}`); else if (evt.kind === "stage") console.log(` [${evt.stage}] phase=
scripts/seed-audit.ts:69
log_at_tool_boundary
View on GitHub →
t.kind === "stage") console.log(` [${evt.stage}] phase=${evt.phase}${evt.durationMs ? ` (${evt.durationMs}ms)` : ""}`); else if (ev
scripts/seed-audit.ts:70
log_at_tool_boundary
View on GitHub →
= "classification") console.log(` ✦ risk=${evt.classification} annex=${evt.annexIii.join("/")} art50=${evt.art50.join("/")}`); else

…and 3 more.

Suggested fix · we looked for these and found none

  • logs_include_request_id
PARTIAL
Context of use established and understood NIST AI RMF, Art MAP 1.1
LLM
1/2 rules

2/4

Why we flagged it

Composite raw score 0.30 (1/2 rules matched). Supporting docs may exist outside the repo. LLM judge (confidence 0.65): Intended purposes are documented (README.md evidence), satisfying 60% of weighted requirements, but deployment context documentation is not confirmed in the repository scan. The clause requires both understanding of purposes AND prospective deployment settings; partial fulfillment warrants 'partial' pending external documentation review.

Confidence
65%
Evidence · 2 hits— click to view code
README.md
readme_quality
View on GitHub →

2 required sections present

README.md
output_interpretation_guidance
View on GitHub →

Suggested fix · we looked for these and found none

  • deployment_context_documented
PARTIAL
Post-deployment monitoring, appeal and override, change management NIST AI RMF, Art MANAGE 4.1
skip
2/4 rules

2/4

Why we flagged it

Composite raw score 0.50 (2/4 rules matched).

Confidence
100%
Evidence · 7 hits— click to view code
regulations/eu-ai-act-2024-08.yaml:817
human_in_loop
View on GitHub →
in-the-loop hooks: `human_input()`, interrupt nodes in LangGraph, approval-gate functions, manual- review flags, con
regulations/eu-ai-act-2024-08.yaml:838
human_in_loop
View on GitHub →
For LangGraph: use `interrupt()` nodes. For custom flows: build an approval-queue pattern. Document where humans can intervene i
regulations/eu-ai-act-2024-08.yaml:902
ic: - rule: kill_switch_present weight: 0.7 description: | Code contains a documented kill-switch /
regulations/eu-ai-act-2024-08.yaml:906
sm (function named `kill_switch`, `emergency_stop`, `disable_agent`, a feature flag with explicit disable, an admin
regulations/eu-ai-act-2024-08.yaml:906
med `kill_switch`, `emergency_stop`, `disable_agent`, a feature flag with explicit disable, an admin endpoint that h

…and 2 more.

Suggested fix · we looked for these and found none

  • feedback_capture_present
  • structured_logging_imported
ADEQUATE
Documented information for the AI management system ISO/IEC 42001, Art 7.5
skip
1/2 rules

3/4

Why we flagged it

Composite raw score 0.70 (1/2 rules matched). Supporting docs may exist outside the repo.

Confidence
90%
Evidence · 2 hits— click to view code
README.md
presence_of_versioned_docs
View on GitHub →
CHANGELOG.md
docs_changelog_present
View on GitHub →

Suggested fix · we looked for these and found none

  • presence_of_versioned_docs
INADEQUATE
Monitoring, measurement, analysis and evaluation ISO/IEC 42001, Art 9.1
1/2 rules

1/4

Why we flagged it

Composite raw score 0.25 (1/2 rules matched). Supporting docs may exist outside the repo.

Confidence
85%
Evidence · 2 hits— click to view code
scripts/seed-audit.ts:38
structured_logging_present
View on GitHub →
x.ts"), content); console.log(` rewrote index.ts (${entries.length} seeds)`); } async function main() { const args = process.argv.slic
scripts/seed-audit.ts:64
structured_logging_present
View on GitHub →
-1.0"], }; console.log(`\n=== ${owner}/${repo} (id=${input.auditId}) ===`); const t0 = Date.now(); try { const report

Suggested fix · we looked for these and found none

  • presence_of_eval_suite
STRONG
Records of processing activities GDPR, Art 30
1/1 rules

4/4

Why we flagged it

Composite raw score 1.00 (1/1 rules matched). Supporting docs may exist outside the repo.

Confidence
55%
Evidence · 1 hit— click to view code
PROCESSING_REGISTER.md
presence_of_processing_register
View on GitHub →

Accountability

Don't abuse power
2.5/4Adequate6 clauses
ABSENT
Deployer log-retention capability supported EU AI Act, Art 26(6)
LLM
1/1 rules

0/4

Why we flagged it

Composite raw score 0.50 (1/1 rules matched). Supporting docs may exist outside the repo. LLM judge (confidence 0.85): Evidence shows only console.log statements at tool boundaries, which are runtime debugging outputs, not persistent audit logs meeting the 6-month retention requirement. No evidence of automatic log generation, storage mechanism, or retention policy controls required by Art. 26(6).

Confidence
85%
Evidence · 2 hits— click to view code
scripts/seed-audit.ts:38
log_at_tool_boundary
View on GitHub →
x.ts"), content); console.log(` rewrote index.ts (${entries.length} seeds)`); } async function main() { const args = process.argv.slic
scripts/seed-audit.ts:64
log_at_tool_boundary
View on GitHub →
-1.0"], }; console.log(`\n=== ${owner}/${repo} (id=${input.auditId}) ===`); const t0 = Date.now(); try { const report
STRONG
Risk management process documented and accountable NIST AI RMF, Art GOVERN 1.4
2/2 rules

4/4

Why we flagged it

Composite raw score 1.00 (2/2 rules matched). Supporting docs may exist outside the repo.

Confidence
60%
Evidence · 2 hits— click to view code
RISK_REGISTER.md
presence_of_risk_register
View on GitHub →
RISK_REGISTER.md
risk_owner_assignment
View on GitHub →
ABSENT
Ongoing monitoring and periodic review of risk management NIST AI RMF, Art GOVERN 1.5
0/2 rules

0/4

Why we flagged it

Composite raw score 0.00 (0/2 rules matched). Supporting docs may exist outside the repo.

Confidence
60%

Suggested fix · we looked for these and found none

  • ci_eval_gates
  • drift_monitoring_present
ADEQUATE
Leadership and commitment for AI management ISO/IEC 42001, Art 5.1
skip
1/2 rules

3/4

Why we flagged it

Composite raw score 0.70 (1/2 rules matched). Supporting docs may exist outside the repo.

Confidence
90%
Evidence · 1 hit— click to view code
AI_POLICY.md
presence_of_ai_policy
View on GitHub →

Suggested fix · we looked for these and found none

  • leadership_signoff_evidence
STRONG
Roles, responsibilities and authorities ISO/IEC 42001, Art 5.3
1/1 rules

4/4

Why we flagged it

Composite raw score 1.00 (1/1 rules matched). Supporting docs may exist outside the repo.

Confidence
55%
Evidence · 1 hit— click to view code
CODEOWNERS
presence_of_raci_or_owners
View on GitHub →
STRONG
Internal organization controls ISO/IEC 42001, Art A.5
1/1 rules

4/4

Why we flagged it

Composite raw score 1.00 (1/1 rules matched). Supporting docs may exist outside the repo.

Confidence
55%
Evidence · 1 hit— click to view code
CODEOWNERS
presence_of_codeowners
View on GitHub →

Human Oversight

Humans stay in control
2.4/4Partial5 clauses
PARTIAL
Effective human oversight designed and built-in EU AI Act, Art 14(1)
LLM
1/3 rules

2/4

Why we flagged it

Composite raw score 0.50 (1/3 rules matched). LLM judge (confidence 0.62): Human-in-loop hooks are demonstrably present (LangGraph interrupt nodes, approval-gate functions, manual-review flags), satisfying the core intervention mechanism. However, the absence of a dedicated oversight UI and lack of dry-run/simulation capabilities for tool calls leaves the 'effectively overseen' requirement incomplete—operators cannot safely preview or test system actions before execution, limiting practical oversight capability.

Confidence
62%
Evidence · 6 hits— click to view code
regulations/eu-ai-act-2024-08.yaml:817
human_in_loop
View on GitHub →
in-the-loop hooks: `human_input()`, interrupt nodes in LangGraph, approval-gate functions, manual- review flags, con
regulations/eu-ai-act-2024-08.yaml:838
human_in_loop
View on GitHub →
For LangGraph: use `interrupt()` nodes. For custom flows: build an approval-queue pattern. Document where humans can intervene i
src/data/seed-audits/aud_01KRQE8QXXNMC85QQY8RV5.json:162
human_in_loop
View on GitHub →
import ( AIMessage, HumanMessage,", "rule": "langchain_import" }, { "file": "gpt_engineer/core/a
src/data/seed-audits/aud_01KRQE8QXXNMC85QQY8RV5.json:171
human_in_loop
View on GitHub →
import ( AIMessage, HumanMessage, SystemMessage, messages_from_dict, messages_", "rule": "langchain_import" },
src/data/seed-audits/aud_01KRQE8QXXNMC85QQY8RV5.json:198
human_in_loop
View on GitHub →
chain.schema import HumanMessage, SystemMessage from termcolor import colored from gpt_engineer.core.ai import", "rule": "langch

…and 1 more.

Suggested fix · we looked for these and found none

  • oversight_ui_present
  • tool_calls_have_dry_run
PARTIAL
Interrupt / stop function reachable by overseer EU AI Act, Art 14(4)(d)
LLM
1/2 rules

2/4

Why we flagged it

Composite raw score 0.70 (1/2 rules matched). LLM judge (confidence 0.72): A kill-switch mechanism is present and documented (rule matched at 0.7 weight), satisfying the core requirement for intervention capability. However, the absence of evidence for graceful_shutdown_handler (0.3 weight) creates ambiguity about whether the system reliably achieves a 'safe state' as required by the clause—implementation details on safe shutdown semantics must be verified.

Confidence
72%
Evidence · 6 hits— click to view code
regulations/eu-ai-act-2024-08.yaml:902
ic: - rule: kill_switch_present weight: 0.7 description: | Code contains a documented kill-switch /
regulations/eu-ai-act-2024-08.yaml:906
sm (function named `kill_switch`, `emergency_stop`, `disable_agent`, a feature flag with explicit disable, an admin
regulations/eu-ai-act-2024-08.yaml:906
med `kill_switch`, `emergency_stop`, `disable_agent`, a feature flag with explicit disable, an admin endpoint that h
regulations/eu-ai-act-2024-08.yaml:907
stop`, `disable_agent`, a feature flag with explicit disable, an admin endpoint that halts processing). - ru
regulations/nist-ai-rmf-1.0.yaml:342
ic: - rule: kill_switch_present weight: 0.6 - rule: feature_flag_for_disable weight: 0.4 descr

…and 1 more.

Suggested fix · we looked for these and found none

  • graceful_shutdown_handler
PARTIAL
Ability to override / reverse the system's output EU AI Act, Art 14(4)(e)
LLM
1/2 rules

2/4

Why we flagged it

Composite raw score 0.60 (1/2 rules matched). LLM judge (confidence 0.72): The system demonstrates override capability through documented human-in-loop mechanisms (interrupt nodes, approval gates, kill-switch functions), satisfying the override path requirement. However, evidence does not clearly establish that all AI decisions are addressable or reversible by humans, leaving the proportionality and completeness of override scope ambiguous.

Confidence
72%
Evidence · 6 hits— click to view code
regulations/eu-ai-act-2024-08.yaml:817
human_in_loop
View on GitHub →
in-the-loop hooks: `human_input()`, interrupt nodes in LangGraph, approval-gate functions, manual- review flags, con
regulations/eu-ai-act-2024-08.yaml:838
human_in_loop
View on GitHub →
For LangGraph: use `interrupt()` nodes. For custom flows: build an approval-queue pattern. Document where humans can intervene i
regulations/eu-ai-act-2024-08.yaml:902
ic: - rule: kill_switch_present weight: 0.7 description: | Code contains a documented kill-switch /
regulations/eu-ai-act-2024-08.yaml:906
sm (function named `kill_switch`, `emergency_stop`, `disable_agent`, a feature flag with explicit disable, an admin
regulations/eu-ai-act-2024-08.yaml:906
med `kill_switch`, `emergency_stop`, `disable_agent`, a feature flag with explicit disable, an admin endpoint that h

…and 1 more.

Suggested fix · we looked for these and found none

  • decisions_are_addressable
PARTIAL
Mechanisms to supersede or deactivate AI systems NIST AI RMF, Art MANAGE 2.3
skip
1/2 rules

2/4

Why we flagged it

Composite raw score 0.60 (1/2 rules matched).

Confidence
100%
Evidence · 6 hits— click to view code
regulations/eu-ai-act-2024-08.yaml:902
ic: - rule: kill_switch_present weight: 0.7 description: | Code contains a documented kill-switch /
regulations/eu-ai-act-2024-08.yaml:906
sm (function named `kill_switch`, `emergency_stop`, `disable_agent`, a feature flag with explicit disable, an admin
regulations/eu-ai-act-2024-08.yaml:906
med `kill_switch`, `emergency_stop`, `disable_agent`, a feature flag with explicit disable, an admin endpoint that h
regulations/eu-ai-act-2024-08.yaml:907
stop`, `disable_agent`, a feature flag with explicit disable, an admin endpoint that halts processing). - ru
regulations/nist-ai-rmf-1.0.yaml:342
ic: - rule: kill_switch_present weight: 0.6 - rule: feature_flag_for_disable weight: 0.4 descr

…and 1 more.

Suggested fix · we looked for these and found none

  • feature_flag_for_disable
STRONG
Automated individual decision-making, including profiling GDPR, Art 22
2/2 rules

4/4

Why we flagged it

Composite raw score 1.00 (2/2 rules matched). Supporting docs may exist outside the repo.

Confidence
60%
Evidence · 12 hits— click to view code
regulations/eu-ai-act-2024-08.yaml:817
human_review_path_present
View on GitHub →
in-the-loop hooks: `human_input()`, interrupt nodes in LangGraph, approval-gate functions, manual- review flags, con
regulations/eu-ai-act-2024-08.yaml:838
human_review_path_present
View on GitHub →
For LangGraph: use `interrupt()` nodes. For custom flows: build an approval-queue pattern. Document where humans can intervene i
src/data/seed-audits/aud_01KRQE8QXXNMC85QQY8RV5.json:162
human_review_path_present
View on GitHub →
import ( AIMessage, HumanMessage,", "rule": "langchain_import" }, { "file": "gpt_engineer/core/a
src/data/seed-audits/aud_01KRQE8QXXNMC85QQY8RV5.json:171
human_review_path_present
View on GitHub →
import ( AIMessage, HumanMessage, SystemMessage, messages_from_dict, messages_", "rule": "langchain_import" },
src/data/seed-audits/aud_01KRQE8QXXNMC85QQY8RV5.json:198
human_review_path_present
View on GitHub →
chain.schema import HumanMessage, SystemMessage from termcolor import colored from gpt_engineer.core.ai import", "rule": "langch

…and 7 more.

Fairness

Treat people fairly
3.0/4Adequate4 clauses
STRONG
Exploiting vulnerabilities (age, disability, socio-economic) EU AI Act, Art 5(1)(b)
0/1 rules

4/4

Why we flagged it

Composite raw score 0.00 (0/1 rules matched).

Confidence
55%

Suggested fix · we looked for these and found none

  • detect_protected_attribute_targeting
STRONG
Social scoring leading to detrimental treatment EU AI Act, Art 5(1)(c)
0/1 rules

4/4

Why we flagged it

Composite raw score 0.00 (0/1 rules matched). Supporting docs may exist outside the repo.

Confidence
55%

Suggested fix · we looked for these and found none

  • detect_scoring_with_persistent_user_state
ABSENT
Predictive policing solely from profiling EU AI Act, Art 5(1)(d)
1/1 rules

0/4

Why we flagged it

Composite raw score 0.76 (1/1 rules matched).

Confidence
79%
Evidence · 6 hits— click to view code
regulations/eu-ai-act-2024-08.yaml:199
law_enf_terms
View on GitHub →
crime-likelihood / recidivism / "risk to commit X" scores when the input contains only person profile data (no obje
regulations/eu-ai-act-2024-08.yaml:202
law_enf_terms
View on GitHub →
names like `crime_risk`, `recidivism_score`, `offender_likelihood` combined with profile inputs. score_mapping: { pa
regulations/eu-ai-act-2024-08.yaml:202
law_enf_terms
View on GitHub →
recidivism_score`, `offender_likelihood` combined with profile inputs. score_mapping: { pass_default: 4, fail_on_match: 0 }
src/pipeline/stages/recon.ts:330
law_enf_terms
View on GitHub →
ms", pattern: /\b(?:crime_risk|recidivism|offender_likelihood|police_dispatch|criminal_record|sentencing_recommend)\b/gi }, // ----- migr
src/pipeline/stages/recon.ts:330
law_enf_terms
View on GitHub →
n: /\b(?:crime_risk|recidivism|offender_likelihood|police_dispatch|criminal_record|sentencing_recommend)\b/gi }, // ----- migration_signa

…and 1 more.

STRONG
Biometric categorisation by protected attributes EU AI Act, Art 5(1)(g)
0/1 rules

4/4

Why we flagged it

Composite raw score 0.00 (0/1 rules matched).

Confidence
55%

Suggested fix · we looked for these and found none

  • detect_biometric_categorisation_by_protected_attrs

Security & Governance

Don't destabilize society
3.0/4Adequate4 clauses
ADEQUATE
Cybersecurity measures appropriate to circumstances EU AI Act, Art 15(5)
3/4 rules

3/4

Why we flagged it

Composite raw score 0.80 (3/4 rules matched).

Confidence
90%
Evidence · 12 hits— click to view code
regulations/eu-ai-act-2024-08.yaml:344
prompt_injection_defence
View on GitHub →
(hallucination, prompt injection, output bias, leakage, capability escalation), mitigation owner, status. Wire eval suite into CI
regulations/eu-ai-act-2024-08.yaml:1121
prompt_injection_defence
View on GitHub →
ic: - rule: prompt_injection_defences weight: 0.4 description: | Code includes prompt-injection miti
regulations/eu-ai-act-2024-08.yaml:1124
prompt_injection_defence
View on GitHub →
Code includes prompt-injection mitigations: output filters, input sanitisation, instruction-data segregation, system-promp
regulations/eu-ai-act-2024-08.yaml:1135
prompt_injection_defence
View on GitHub →
Eval suite includes prompt-injection / adversarial cases" score_mapping: ">=0.85": 4 ">=0.65": 3 ">=0.40": 2 ">=
regulations/eu-ai-act-2024-08.yaml:1143
prompt_injection_defence
View on GitHub →
hint: | Add a prompt-injection eval set (e.g. from `promptbench`, `garak`, or your own canonical injection prompts). Sanitise to

…and 7 more.

Suggested fix · we looked for these and found none

  • adversarial_eval_present
PARTIAL
Security and resilience evaluated NIST AI RMF, Art MEASURE 2.7
LLM
2/3 rules

2/4

Why we flagged it

Composite raw score 0.60 (2/3 rules matched). LLM judge (confidence 0.72): Prompt injection defences and rate limiting are documented and implemented (2 of 3 rules matched, 60% composite score), but adversarial evaluation is absent—a critical gap for demonstrating comprehensive security and resilience evaluation as required by MEASURE 2.7. The system has defensive controls but lacks the evaluation rigor needed for full compliance.

Confidence
72%
Evidence · 12 hits— click to view code
regulations/eu-ai-act-2024-08.yaml:344
prompt_injection_defence
View on GitHub →
(hallucination, prompt injection, output bias, leakage, capability escalation), mitigation owner, status. Wire eval suite into CI
regulations/eu-ai-act-2024-08.yaml:1121
prompt_injection_defence
View on GitHub →
ic: - rule: prompt_injection_defences weight: 0.4 description: | Code includes prompt-injection miti
regulations/eu-ai-act-2024-08.yaml:1124
prompt_injection_defence
View on GitHub →
Code includes prompt-injection mitigations: output filters, input sanitisation, instruction-data segregation, system-promp
regulations/eu-ai-act-2024-08.yaml:1135
prompt_injection_defence
View on GitHub →
Eval suite includes prompt-injection / adversarial cases" score_mapping: ">=0.85": 4 ">=0.65": 3 ">=0.40": 2 ">=
regulations/eu-ai-act-2024-08.yaml:1143
prompt_injection_defence
View on GitHub →
hint: | Add a prompt-injection eval set (e.g. from `promptbench`, `garak`, or your own canonical injection prompts). Sanitise to

…and 7 more.

Suggested fix · we looked for these and found none

  • adversarial_eval_present
STRONG
Resources for AI systems ISO/IEC 42001, Art A.7
2/2 rules

4/4

Why we flagged it

Composite raw score 1.00 (2/2 rules matched). Supporting docs may exist outside the repo.

Confidence
60%
Evidence · 2 hits— click to view code
SECURITY.md
presence_of_security_policy
View on GitHub →
package-lock.json
dependency_pinning
View on GitHub →
ADEQUATE
Security of processing GDPR, Art 32
2/2 rules

3/4

Why we flagged it

Composite raw score 0.80 (2/2 rules matched). Supporting docs may exist outside the repo.

Confidence
80%
Evidence · 6 hits— click to view code
scripts/seed-audit.ts:60
encryption_at_rest_or_transit
View on GitHub →
https://github.com/${owner}/${repo}`,
src/app/a/[chain]/[id]/_agent-audit.tsx:87
encryption_at_rest_or_transit
View on GitHub →
https://github.com/owner/repo
src/app/api/audit/run/route.ts:38
encryption_at_rest_or_transit
View on GitHub →
https://github.com/${body.source.owner}/${body.source.repo}`,
src/app/api/audit/stream/route.ts:54
encryption_at_rest_or_transit
View on GitHub →
https://github.com/${body.source.owner}/${body.source.repo}`,
next.config.ts
encryption_at_rest_or_transit
View on GitHub →

…and 1 more.