Skip to main content
Scans a PDF file for security threats including injection attacks and policy violations. The detector analyzes the provided base64-encoded PDF and returns details about any detected threats on a per-page basis, including which detectors were triggered.

Example request:

import requests
import json
import os
import base64

# Read and encode PDF file
with open("document.pdf", "rb") as f:
    file_base64 = base64.b64encode(f.read()).decode("utf-8")

url = "https://api.enkryptai.com/guardrails/scan-pdf"
payload = json.dumps({
    "file": file_base64,
    "detectors": {
        "policy_violation": {
            "enabled": true,
            "policy_text": "No recruitment letters",
            "need_explanation": true
        },
        "injection_attack": {
            "enabled": true
        }
    }
})
headers = {
    'Content-Type': 'application/json',
    'apikey': os.getenv('ENKRYPTAI_API_KEY')
}
response = requests.post(url, headers=headers, data=payload)
print(response.json())

Example response:

JSON
{
    "summary": {
        "policy_violation": 0,
        "injection_attack": 0
    },
    "details": {
        "total_pages": 1,
        "pages_with_detections": 0,
        "detections": []
    }
}