BerriAI/litellm · error · HTTPException
File sanitization failed: {e}
Error message
File sanitization failed: {e} What it means
Error "File sanitization failed: {e}" thrown in BerriAI/litellm.
Source
Thrown at litellm/proxy/guardrails/guardrail_hooks/prompt_security/prompt_security.py:488
)
if action == "modify":
sanitized_content: Final = sanitization_result.get("content", "")
if sanitized_content:
sanitized_encoded: Final = base64.b64encode(sanitized_content.encode()).decode()
sanitized_url: Final = f"{header},{sanitized_encoded}"
if isinstance(image_url_data, dict):
image_url_data["url"] = sanitized_url
else:
item["image_url"] = sanitized_url
verbose_proxy_logger.info("File content modified by Prompt Security")
return item
except HTTPException:
raise
except Exception as e:
verbose_proxy_logger.error("Error sanitizing image file: %s", e)
raise HTTPException(status_code=500, detail=f"File sanitization failed: {e}")
async def _process_document_item(self, item: dict, user_api_key_alias: str | None) -> dict:
"""Process and sanitize document/file items."""
doc_data: Final = item.get("document") or item.get("file") or item
if isinstance(doc_data, dict):
url = doc_data.get("url", "")
doc_content = doc_data.get("data", "")
else:
url = doc_data if isinstance(doc_data, str) else ""
doc_content = ""
if not (url.startswith("data:") or doc_content):
return item
try:
header = ""
if url.startswith("data:"):View on GitHub (pinned to 77b7c6c40c)
Solutions
- Check the underlying exception in the proxy logs for the sanitization failure.
- Verify the file format is supported by Prompt Security sanitization.
When it happens
Trigger: Thrown at litellm/proxy/guardrails/guardrail_hooks/prompt_security/prompt_security.py:488 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18).
Data as JSON: /api/errors/9c62c97a085c586b.
Report an issue: GitHub.