1) Documentation Evidence (RAG)
Requirement #1: “Where does the policy say we enforce MFA?” Upload policy/SSP PDFs and retrieve exact supporting paragraphs (with page ranges) for a given control.
RAG — Ingest Security Document
POST /ai/docs/ingest
RAG — Search
POST /ai/docs/search
POST /ai/docs/answer
Docs → Control Evidence
Uses the selected NIST control definition from your DB to search uploaded documentation for supporting paragraphs.
Calls: POST /ai/docs/control-evidence
2) Sensitive Data Locations
Requirement #2: Identify where Federal data could live by analyzing ingested AWS evidence (S3/RDS metadata, tags, and posture flags like encryption/public exposure).
Sensitive Data — Locations (AWS Evidence)
POST /ai/data/sensitive-locations
Macie — Sensitive Data Findings (S3)
POST /ai/data/macie/findings
macie2:ListFindings and macie2:GetFindings.
3) Vendors → Categories
Requirement #3: Build the SSP “Security and Management Technologies” table by extracting tools/vendors from AWS evidence (+ optional doc snippets) and returning strict JSON + HTML table.
Vendors / Tech Map
POST /ai/vendors/map
vendor_map (strict JSON) and html_table for direct SSP rendering.
Rendered Vendor Table (SSP-ready)
This renders html_table as an actual table (safe text-only rebuild in-browser).
4) Scan Results → Controls
Requirement #4: Ingest scanner findings (Nessus CSV / SecurityHub JSON) and map failures to relevant NIST controls (deterministic rules first; optional LLM fallback).
Scans — Ingest + Map
POST /ai/scans/ingest | Map: POST /ai/scans/map-controls
5) Generate Missing Policies
Requirement #5: Generate baseline policies/procedures and write them into the repo using discovered vendor/tooling context.
Policy Generator
POST /ai/policies/generate (writes to @docs/generated_policies/)
6) Exceptions / POA&M Validation
Requirement #6: Ingest a POA&M/deviation list and validate whether vendor fixes exist using external intelligence (NVD CVE API).
POA&M — Ingest + Validate
POST /ai/poam/ingest | Validate: POST /ai/poam/validate