deepset-ai / deepset-ai/haystack
EU AI Act compliance scan results — Haystack scored #1, wanted to validate findings
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 26.6k
- Forks
- 3.2k
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 194
Description
Hey team — I build AIR Blackbox, an open-source EU AI Act compliance scanner for Python AI frameworks. I ran it against 6 major agent frameworks (Haystack, OpenAI Agents SDK, Semantic Kernel, GPT Researcher, Mem0, DSPy) and Haystack scored #1 overall.
I'm opening this issue because I want to validate whether our scanner's findings are accurate to how you've built things. Some of our pattern matching may produce false positives and I'd appreciate your input.
What the scanner found (highlights)
- 245/552 files have Pydantic or dataclass validation (44%)
- 143/552 files use structured logging (26% — highest of all frameworks)
- 47 files have human-in-the-loop patterns
- 41 files with retry/backoff logic
- Docstrings at 29% (1% below our 30% threshold — easy fix)
Where I need your help validating
The scanner detected patterns in all 5 of our OAuth delegation checks, but static pattern matching has limitations. Specifically:
-
user_idin telemetry and HITL strategies — is this intentional identity binding for tracking which user authorized agent actions, or is it primarily analytics/telemetry? -
scopein agent.py — is this controlling agent permissions and what it can access, or is it used for something else? -
max_agein agent config — is this time-bounding agent execution (which would be a form of revocation/expiry), or is it unrelated to token lifecycle? -
is_allowedin serialization.py — this looks like deserialization safety, not agent action boundaries. Probably a false positive on our end. Can you confirm? -
execution_login test_tool_invoker.py — does Haystack log tool invocations in production, or is this only in tests?
Full results
24 passing · 10 warnings · 5 failing · 39 total checks
95% automated detection · EU AI Act Articles 9, 10, 11, 12, 14, 15
The 5 failures are all missing docs (RISK_ASSESSMENT.md, DATA_GOVERNANCE.md, etc.) and no vault configured — not code issues.
How to reproduce
pip install air-blackbox
air-blackbox comply --scan ./haystack -v
18 code-level checks + 5 OAuth delegation pattern checks. Apache 2.0, runs entirely local — no code leaves your machine.
Why I'm reaching out
I published a full report comparing all 6 frameworks. Before sharing it more broadly, I want to make sure the Haystack findings are accurate. If any of the pattern matches above are false positives, I'd rather fix the scanner than publish incorrect results.
Appreciate any feedback — it helps us improve the scanner for the whole ecosystem. Being a German company, EU AI Act compliance is probably already on your radar, and I thought these results might be useful regardless.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the referenced agent.py, serialization.py, and test_tool_invoker.py locations, then run the provided air-blackbox comply command against the repository. Compare the five OAuth delegation findings and the missing RISK_ASSESSMENT.md and DATA_GOVERNANCE.md results with the implementation; done means reaching maintainer-backed conclusions about which findings are accurate or false positives.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- documentation, security
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100