Skip to content

Commit 19cb81a

Browse files
committed
Branding before release
1 parent ca785b3 commit 19cb81a

2 files changed

Lines changed: 235 additions & 1 deletion

File tree

README.md

Lines changed: 223 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,223 @@
1+
# IL6 Control Catalog
2+
3+
An interactive web application for exploring security control overlays that constitute **Information Level 6 (IL6)** — the DoD standard for cloud service providers working with classified secret information.
4+
5+
🌐 **Live Site:** [https://sl5.org/IL6](https://sl5.org/IL6)
6+
7+
---
8+
9+
## Overview
10+
11+
IL6 is based on the **NIST SP 800-53** control catalog and is defined as the union of multiple security overlays:
12+
13+
| Overlay | Description | Precedence |
14+
|---------|-------------|------------|
15+
| **FedRAMP High** | Federal Risk and Authorization Management Program baseline | Lowest |
16+
| **CNSSI 1253** | Committee on National Security Systems security categorization ||
17+
| **Classified Information Overlay** | Additional controls for classified environments ||
18+
| **FedRAMP+** | DoD-specific enhancements to FedRAMP | Highest |
19+
20+
Where overlays disagree, each takes precedence over the ones below it.
21+
22+
---
23+
24+
## Features
25+
26+
- 📋 **Complete NIST SP 800-53 Control Catalog** — Browse all controls and enhancements
27+
- 🏷️ **Overlay Badges** — Instantly see which overlays apply to each control
28+
- 🔍 **Search & Filter** — Find controls by ID, name, or text; filter by control family
29+
- 👁️ **Show/Hide Unselected** — Focus on controls with active overlays or see everything
30+
- 📖 **Detailed Views** — Expand controls to see full text, discussions, related controls, and overlay-specific parameters
31+
- 🔗 **NIST Links** — Direct links to official NIST documentation for each control
32+
- 📱 **Responsive Design** — Works on desktop and mobile
33+
34+
---
35+
36+
## Quick Start
37+
38+
Simply open `index.html` in a web browser — no build process or server required.
39+
40+
```bash
41+
# Clone the repository
42+
git clone https://gitlab.com/sl5tf/control-overlays-selector.git
43+
cd control-overlays-selector
44+
45+
# Open in browser
46+
open index.html # macOS
47+
start index.html # Windows
48+
xdg-open index.html # Linux
49+
```
50+
51+
Or serve locally:
52+
53+
```bash
54+
python -m http.server 8000
55+
# Visit http://localhost:8000
56+
```
57+
58+
---
59+
60+
## Project Structure
61+
62+
```
63+
control-overlays-selector/
64+
├── index.html # Main web application (vanilla JS)
65+
├── CLAUDE.md # AI assistant guidance
66+
├── README.md # This file
67+
68+
├── nist_catalog/ # NIST SP 800-53 source data
69+
│ ├── nist_sp_800-53_control_catalog.json
70+
│ └── nist_sorter.py
71+
72+
├── fedramp_high/ # FedRAMP High overlay
73+
│ └── extracted_fedramp_high_overlay.json
74+
75+
├── fedramp_plus/ # FedRAMP+ overlay
76+
│ ├── fedramp_plus_overlay.pdf
77+
│ └── extracted_fedramp_plus_overlay.json
78+
79+
├── cnssi_1253/ # CNSSI 1253 overlay
80+
│ ├── CNSSI_1253_2022.pdf
81+
│ ├── extract_cnssi_1253.py
82+
│ └── extracted_cnssi_1253.json
83+
84+
└── classified_information/ # Classified Information overlay
85+
├── classified_information_overlay_2022.pdf
86+
├── extract_classified_information.py
87+
└── extracted_classified_information.json
88+
```
89+
90+
---
91+
92+
## Data Pipeline
93+
94+
The application uses a PDF → JSON → Web pipeline:
95+
96+
```
97+
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
98+
│ PDF Source │ ──► │ Python Script │ ──► │ JSON Data │
99+
│ Documents │ │ (extraction) │ │ (structured) │
100+
└─────────────────┘ └─────────────────┘ └─────────────────┘
101+
102+
103+
┌─────────────────┐
104+
│ Web App (JS) │
105+
│ index.html │
106+
└─────────────────┘
107+
```
108+
109+
### Extracting Data from PDFs
110+
111+
```bash
112+
# Requires PyMuPDF (fitz)
113+
pip install PyMuPDF
114+
115+
# Extract CNSSI 1253 overlay
116+
python cnssi_1253/extract_cnssi_1253.py cnssi_1253/CNSSI_1253_2022.pdf
117+
118+
# Extract Classified Information overlay
119+
python classified_information/extract_classified_information.py \
120+
classified_information/classified_information_overlay_2022.pdf
121+
122+
# Debug specific pages
123+
python cnssi_1253/extract_cnssi_1253.py cnssi_1253/CNSSI_1253_2022.pdf --debug-page 10
124+
```
125+
126+
---
127+
128+
## Development
129+
130+
### No Build Required
131+
132+
This is a vanilla JavaScript application with zero dependencies. Edit `index.html` directly and refresh your browser.
133+
134+
### Key Functions
135+
136+
| Function | Purpose |
137+
|----------|---------|
138+
| `loadData()` | Fetches all JSON files on page load |
139+
| `renderControls()` | Displays filtered controls |
140+
| `getOverlayInfo(controlId)` | Returns overlays applicable to a control |
141+
| `renderOverlay(overlay)` | Renders overlay details |
142+
143+
### Data Structures
144+
145+
**Control Format:**
146+
```javascript
147+
{
148+
"id": "AC-1",
149+
"name": "Policy and Procedures",
150+
"text": "Control description...",
151+
"family": "AC",
152+
"discussion": "...",
153+
"relatedControls": ["AC-2", "PM-9"],
154+
"isEnhancement": false
155+
}
156+
```
157+
158+
**Overlay Formats vary by type:**
159+
```javascript
160+
// FedRAMP: Assessment procedures
161+
{ "assessment_procedures": [...] }
162+
163+
// CNSSI: CIA selections
164+
{ "selections": { "confidentiality": {...}, "integrity": {...}, "availability": {...} } }
165+
166+
// Classified: Justification and parameters
167+
{ "justification": "...", "parameter_value": "..." }
168+
```
169+
170+
---
171+
172+
## Adding a New Overlay
173+
174+
1. **Create directory** for the new overlay
175+
2. **Add PDF source** document
176+
3. **Create Python extractor** (see existing extractors as templates)
177+
4. **Generate JSON** data file
178+
5. **Update `loadData()`** in `index.html` to load the new JSON
179+
6. **Add overlay toggle** in the UI (if needed)
180+
7. **Update `getOverlayInfo()`** to handle the new overlay format
181+
182+
---
183+
184+
## Deployment
185+
186+
The site is deployed at [https://sl5.org/IL6](https://sl5.org/IL6). Push to the main branch to trigger deployment via GitLab CI/CD.
187+
188+
---
189+
190+
## Dependencies
191+
192+
| Component | Dependency |
193+
|-----------|------------|
194+
| **Web App** | None (vanilla JavaScript) |
195+
| **PDF Extraction** | Python 3, PyMuPDF (`pip install PyMuPDF`) |
196+
| **Deployment** | GitLab CI/CD |
197+
198+
---
199+
200+
## Contributing
201+
202+
Contributions are welcome! Please:
203+
204+
1. Fork the repository
205+
2. Create a feature branch
206+
3. Test your changes locally
207+
4. Submit a merge request
208+
209+
---
210+
211+
## License
212+
213+
Created by the **[SL5 Task Force](https://sl5.org)** for the security community.
214+
215+
---
216+
217+
## Related Resources
218+
219+
- [NIST SP 800-53 Rev 5](https://csrc.nist.gov/publications/detail/sp/800-53/rev-5/final) — Security and Privacy Controls
220+
- [FedRAMP](https://www.fedramp.gov/) — Federal Risk and Authorization Management Program
221+
- [CNSSI 1253](https://www.cnss.gov/CNSS/issuances/Instructions.cfm) — Security Categorization and Control Selection
222+
- [DoD Cloud Computing SRG](https://public.cyber.mil/dccs/) — Defense Information Systems Agency Cloud Security
223+

index.html

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,18 @@
99
<head>
1010
<meta charset="UTF-8">
1111
<meta name="viewport" content="width=device-width, initial-scale=1.0">
12-
<title>SL5 Control Catalog</title>
12+
<title>IL6 Control Catalog | SL5 Task Force</title>
13+
<meta name="description" content="Interactive explorer for IL6 security control overlays including FedRAMP High, CNSSI 1253, Classified Information Overlay, and FedRAMP+. Based on NIST SP 800-53 controls for DoD cloud compliance.">
14+
<meta name="keywords" content="IL6, Information Level 6, NIST SP 800-53, FedRAMP, CNSSI 1253, DoD, security controls, classified information, cloud security, SL5 Task Force">
15+
<meta name="author" content="SL5 Task Force">
16+
<meta property="og:title" content="IL6 Control Catalog | SL5 Task Force">
17+
<meta property="og:description" content="Interactive explorer for IL6 security control overlays. Browse NIST SP 800-53 controls with FedRAMP High, CNSSI 1253, Classified Information, and FedRAMP+ overlays.">
18+
<meta property="og:type" content="website">
19+
<meta property="og:url" content="https://sl5.org/IL6">
20+
<meta name="twitter:card" content="summary">
21+
<meta name="twitter:title" content="IL6 Control Catalog | SL5 Task Force">
22+
<meta name="twitter:description" content="Interactive explorer for IL6 security control overlays based on NIST SP 800-53 for DoD cloud compliance.">
23+
<link rel="canonical" href="https://sl5.org/IL6">
1324
<style>
1425
/* --------------------
1526
Global Styles

0 commit comments

Comments
 (0)