#32206 [Bug]: Compliance checks (GDPR / EU AI Act) report NON-COMPLIANT when guardrail_mode is a list (e.g. Presidio with output_parse_pii)
### Check for existing issues
- [x] I have searched the existing issues and checked that my issue is not a duplicate.
### What happened?
The per-request compliance panel (`POST /compliance/gdpr`, `POST /compliance/eu-ai-act`) reports **NON-COMPLIANT** ("No pre-call screening applied", "No pre-call data protection applied") even though a pre-call guardrail ran successfully on the same request — the Request Lifecycle in the same view correctly shows `Pre-call guardrail: <name> PASSED`.
### Root cause
Two features interact:
1. When a Presidio guardrail has `output_parse_pii: true` (or `apply_to_output`), the hook **expands `event_hook` to a list** so the guardrail also runs post-call to unmask the response (`litellm/proxy/guardrails/guardrail_hooks/presidio.py`, `__init__`):
```python # When output_parse_pii or apply_to_output is enabled, the guardrail must # also run on post_call to unmask/mask the response. ... if (self.output_parse_pii or self.apply_to_output) and not logging_only: current_hook = self.event_hook if isinstance(current_hook, str) and current_hook != "post_call": self.event_hook = cast( List[GuardrailEventHooks], [current_hook, "post…