Intake Engine
Automated PASS/FAIL under the active ruleset and validation version. No human handling in the core intake path.
Upload Requirements
- ZIP or individual files (PDF, DOCX, XLSX, PNG, JPG, CSV, JSON, TXT)
- Maximum upload size: 100 MB
- If you upload individual files, the system bundles them automatically
- Executable content is blocked
- No nested archives beyond 2 levels
Note: the Verify portal has its own 25 MB limit because it verifies issued kit.zip files locally in the browser. That limit is separate from the intake ZIP upload limit.
Pipeline overview
- Upload: Submit a ZIP or individual files (PDF, DOCX, XLSX, CSV, JSON, PNG, JPG, TXT). Max 100 MB per upload. Individual files are bundled automatically.
- Extract & normalize: ZIP contents are extracted. Each file is renamed to a deterministic, conflict-free path preserving the original structure via
mapping.json. - Classify: Every file is classified into one of 10 artifact buckets:
contracts,policies,reports,security,controls,tickets,exports,evidence,screenshots,unknown. Classification uses filename tokens, folder path analysis, content sniffing (PDF title, JSON keys, CSV headers), and extension-based type detection. Confidence scores are computed per bucket in [0, 1]. - Validate: The system checks that all required artifact groups are present with at least one file meeting the 0.90 confidence threshold:
policies— at least one policies filereports_or_security— at least one reports or security filecontracts— at least one contracts fileevidence_or_controls— at least one evidence or controls file
- PASS / FAIL: If all required groups are satisfied →
PASS. Otherwise →FAILwith a detailed report listing missing groups, low-confidence files, and suggested remediation. - Kit issuance (PASS only): On PASS, the system produces:
kit.zip— normalized evidence kit withkit/manifest.json,kit/receipt.json,kit/receipt.sig,kit/diff.json,kit/verifier/, and top-levelregistry/proof filesdiff.json— standalone diff payload returned on PASS; itsstatusshows whether a previous comparable kit was available for the provideddiff_scope_id
API endpoints
| Method | Path | Description |
|---|---|---|
POST | /v1/intake/jobs | Create a new job (returns upload URL) |
POST | /v1/intake/jobs/{id}/upload | Upload ZIP or individual files for processing |
GET | /v1/intake/jobs/{id} | Get job status |
GET | /v1/intake/jobs/{id}/artifacts | Get download URLs for outputs |
Supported file types
ZIP contents may include: .pdf, .docx, .xlsx, .csv, .json, .png, .jpg, .jpeg, .txt, .md, .html. Images are classified as screenshots and do not satisfy required artifact groups.
Determinism contract
The same input ZIP produces the same classification, PASS/FAIL result, and kit structure only under the same ruleset, schema version, adapter profile, and validation version. Versioned via FES-DIFF-1.0 scope. No LLM dependency is used in the core PASS/FAIL path.
