This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is a web application for viewing and managing security control overlays that constitute IL6 (Information Level 6) — the DoD standard for cloud service providers working with classified secret information. It displays NIST SP 800-53 controls with security overlays including FedRAMP High, CNSSI 1253, Classified Information Overlay, and FedRAMP+.
- Frontend: Single-page application using vanilla JavaScript embedded in
index.html(no build process) - Data Pipeline: Python scripts extract data from PDF overlays → JSON files → JavaScript web app
- Hosting: https://il6.sl5taskforce.org/ (GitHub: https://github.com/SL5TaskForce/IL6-control-catalog)
# Extract overlay data from PDFs (requires PyMuPDF/fitz)
python cnssi_1253/extract_cnssi_1253.py cnssi_1253/CNSSI_1253_2022.pdf
python classified_information/extract_classified_information.py classified_information/classified_information_overlay_2022.pdf
# Debug specific pages
python cnssi_1253/extract_cnssi_1253.py cnssi_1253/CNSSI_1253_2022.pdf --debug-page 10
# Sort NIST controls naturally
python nist_catalog/nist_sorter.py input.json output.json- No build process - edit
index.htmldirectly - No package manager - pure vanilla JavaScript
- Deploy by pushing to GitHub
- Data Loading:
loadData()fetches all JSON files - Rendering:
renderControls()displays filtered controls - State: Global variables store control data and overlay states
- Events: Toggle overlays, search, filter by family, expand/collapse controls
Each overlay directory contains:
- PDF source document
- Python extractor script (
extract_*.py) - Generated JSON data file
- Common pattern: PDF → Python extractor → JSON → Web app
// Control format
{
"id": "AC-1",
"text": "Control description...",
"family": "Access Control",
"enhancements": [...],
"discussion": "..."
}
// Overlay format varies by type
// FedRAMP: {"assessment_procedures": [...]}
// CNSSI: {"selections": {...}, "parameter_value": "...", "justification": "..."}
// Classified: {"justification": "...", "parameter_value": "...", "guidance": "..."}- Control ID Format:
[A-Z]{2}-\d{1,2}(base) or[A-Z]{2}-\d{1,2}\(\d+\)(enhancement) - Overlay Toggle Logic: Each overlay can be enabled/disabled, affecting control visibility
- Enhancement Display: Controls with enhancements have expandable sections
- Modal System: Click control IDs to preview in modal
- Natural Sorting: Controls sorted as AC-1, AC-2, ..., AC-10 (not lexically)
- Create directory for new overlay
- Add PDF source document
- Create Python extractor following existing patterns (see
cnssi_1253/extract_cnssi_1253.pyas template) - Generate JSON data
- Add overlay loading in
loadData()function - Add toggle UI in overlay panel
- Update
getOverlayInfo()to handle new overlay format
No automated tests exist. Manual testing process:
- Run Python extractors on PDFs
- Verify JSON output structure
- Load in browser and test filtering/toggling
- Check control display and enhancements
- Test search functionality
- Python: PyMuPDF (fitz) for PDF extraction
- JavaScript: None (vanilla JS only)
- Deployment: GitHub Pages