Files
email-dlp/docs/email-dlp-workflow.md
2026-03-20 10:28:28 +08:00

52 lines
5.3 KiB
Markdown

[ Directory of .eml Files ]
┌───────────────┐
│ CLI (cli.py) ├────────────────────────────────────────────────┐
└───────┬───────┘ │
│ Loop through EMLs │
▼ │
┌───────────────┐ Metadata (Subject, From, To, Date) │
│ EML Parser │──────────────────────────────────────────┐ │
│ (parser.py) │ │ │
├───────────────┤ Body Text (Parsed via bs4) │ │
│ - Decode Heads├────────────────────────────────────┐ │ │
│ - Extract HTML│ │ │ │
│ - Save Attach │ Attachment Files ▼ ▼ ▼
│ to Temp Dir ├─────────────┐ ┌────────────────────────┐
└───────────────┘ │ │ Prompt Builder │
▼ │ (analyzer.py) │
┌───────────────┐ ┌───────────────┐ ├────────────────────────┤
│ Converter │◄────┤ Temporary Dir │ │ System Prompt: │
│(converter.py) │ └───────────────┘ │ - DLP Policy rules │
├───────────────┤ │ (from policy.py) │
│ - MarkItDown │ │ - Schemas & Thresholds │
│ - Zip/7z Loop │ │ │
│ - PyMuPDF Ext │ │ User Prompt: │
│ - Text Extrac │ │ - Email Metadata │
│ - Image Base64│ │ - Body Text │
└───────┬───────┘ │ - Multimodal list │
│ │ (Texts + Image URLs) │
│ Converted Texts & IMAGE_SENTINELs └───────────┬────────────┘
└─────────────────────────────────────────────────► │ Use OpenAI-comp
│ API (vLLM/Qwen)
┌────────────────────────┐ (or simulator)
│ LLM Inference │
└───────────┬────────────┘
┌───────────▼────────────┐
│ JSON validation │
│ (analyzer.py) │
├────────────────────────┤
│ Parse: action, risk, │
│ violations, summary │
└───────────┬────────────┘
│ DLPResult
┌────────────────────────┐
│ CLI Output │
├────────────────────────┤
│ - Write JSON to disk │
│ - Rich summary table │
└────────────────────────┘