BerriAI/litellm · error · HTTPException
Document sanitization failed: {e}
Error message
Document sanitization failed: {e} What it means
Error "Document sanitization failed: {e}" thrown in BerriAI/litellm.
Source
Thrown at litellm/proxy/guardrails/guardrail_hooks/prompt_security/prompt_security.py:561
sanitized_encoded: Final = base64.b64encode(
sanitized_content if isinstance(sanitized_content, bytes) else sanitized_content.encode()
).decode()
if url.startswith("data:") and header:
sanitized_url: Final = f"{header},{sanitized_encoded}"
if isinstance(doc_data, dict):
doc_data["url"] = sanitized_url
elif isinstance(doc_data, dict):
doc_data["data"] = sanitized_encoded
verbose_proxy_logger.info("Document content modified by Prompt Security")
return item
except HTTPException:
raise
except Exception as e:
verbose_proxy_logger.error("Error sanitizing document: %s", e)
raise HTTPException(status_code=500, detail=f"Document sanitization failed: {e}")
async def process_message_files(self, messages: list, user_api_key_alias: str | None = None) -> list:
"""Process messages and sanitize any file content (images, documents, PDFs, etc.)."""
processed_messages: Final = []
for message in messages:
content = message.get("content")
if not isinstance(content, list):
processed_messages.append(message)
continue
processed_content = []
for item in content:
if isinstance(item, dict):
item_type = item.get("type")
if item_type == "image_url":
item = await self._process_image_url_item(item, user_api_key_alias)View on GitHub (pinned to 77b7c6c40c)
Solutions
- Check proxy logs for the underlying exception during document sanitization.
- Verify the document format and size are supported.
When it happens
Trigger: Thrown at litellm/proxy/guardrails/guardrail_hooks/prompt_security/prompt_security.py:561 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/6d6c332ce0696e4e.
Report an issue: GitHub.