Compliance Framework
Control mappings, audit procedures, and regulatory alignment
Executive Summary
RayRay is architected for deployment in controlled unclassified environments (CUI) with alignment to FedRAMP authorization boundaries. The system implements a compliance-first approach where AI-assisted operations maintain human oversight as mandated by OMB M-25-21 ("Advancing Governance, Innovation, and Risk Management for Agency Use of AI").
Applicable Frameworks
| Framework | Authority | Applicability |
|---|---|---|
| OMB M-25-21 | Office of Management and Budget | Mandatory for Federal AI systems |
| NIST 800-53 Rev 5 | NIST | Security and privacy controls |
| FedRAMP | GSA | Cloud service authorization |
| FISMA | DHS | Information security management |
| NIST AI RMF | NIST | AI risk management |
Control Family Mappings
Access Control (AC)
| Control | Implementation | Evidence |
|---|---|---|
AC-2 Account Management | Role-based accounts with email-based identification | User audit table, role assignments |
AC-3 Access Enforcement | Four-tier role model (Observer, Analyst, Reviewer, Admin) | JWT role claims, endpoint guards |
AC-6 Least Privilege | Role permissions enforced at API layer | Permission matrix documentation |
Identification and Authentication (IA)
| Control | Implementation | Evidence |
|---|---|---|
IA-2 Identification and Authentication | OAuth 2.0 password grant with JWT tokens | Auth service logs, token issuance records |
IA-2(1) Multi-Factor Authentication | TOTP-based MFA (RFC 6238 compliant) | MFA enrollment logs, challenge records |
IA-5 Authenticator Management | bcrypt password hashing, TOTP secrets encrypted | Password policy enforcement logs |
Audit and Accountability (AU)
| Control | Implementation | Evidence |
|---|---|---|
AU-2 Audit Events | Comprehensive event logging for all CUD operations | Event type enumeration in codebase |
AU-3 Content of Audit Records | Timestamp, user ID, IP, resource type, action, outcome | JSON Lines format specification |
AU-4 Audit Storage Capacity | Daily log rotation with configurable retention | Storage configuration documentation |
AU-9 Protection of Audit Information | SHA-256 hash chain prevents tampering | Hash verification API endpoint |
AU-11 Audit Record Retention | Configurable retention period (default: 7 years) | Retention policy configuration |
OMB M-25-21 Alignment
OMB M-25-21 mandates that agencies ensure human oversight of AI systems that could impact rights or safety. RayRay implements the following safeguards:
Required: Human-in-the-Loop (HITL)
┌─────────────────┐
│ AI Extraction │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Redundancy Check│ ◀── Quality validation
└────────┬────────┘
│
▼
┌─────────────────┐
│ CHECKPOINT │ ◀── M-25-21 MANDATORY
│ Human Review │ Human must approve
└────────┬────────┘ before ANY commit
│
┌────┴────┐
▼ ▼
┌───────┐ ┌───────┐
│Commit │ │Reject │
└───────┘ └───────┘Key compliance point: The LangGraph workflow enforces a hard checkpoint at the human review stage. No database write occurs without explicit human action. This satisfies M-25-21's requirement for "meaningful human oversight" of AI outputs.
AI Transparency Requirements
| Requirement | Implementation |
|---|---|
| AI-generated content identification | All extractions marked with AI model, provider, and confidence score |
| Human modification tracking | Original AI values preserved when human edits occur |
| Review audit trail | Reviewer ID, timestamp, and decision recorded for every commit |
Audit Log Architecture
Hash Chain Integrity
Each audit event includes a SHA-256 hash computed over the event content plus the previous event's hash. This creates a blockchain-style integrity chain where tampering with any historical event breaks the chain.
// Event structure
{
"_id": "evt_abc123",
"_timestamp": "2026-03-12T15:30:00Z",
"_prev_hash": "sha256:7f8a...",
"_hash": "sha256:3b2c...",
"event_type": "review_approve",
"user_id": 42,
"resource_type": "extraction",
"resource_id": 123,
"outcome": "success"
}
// Integrity verification
GET /api/audit/verify
{
"valid": true,
"events_checked": 1847,
"first_failure": null,
"errors": []
}Event Types
| Event Type | Description | NIST Control |
|---|---|---|
document_upload | Document submitted for processing | AU-2 |
extraction_start | AI extraction initiated | AU-2 |
extraction_complete | AI extraction finished with confidence scores | AU-2 |
review_approve | Human approved AI extractions | AU-2, M-25-21 |
review_modify | Human modified AI extractions | AU-2, M-25-21 |
review_reject | Human rejected AI extractions | AU-2, M-25-21 |
export_download | Report exported (PPTX, PDF) | AU-2 |
Role-Based Access Control
RayRay implements a four-tier role model aligned with separation of duties principles:
| Role | Permissions | Typical Assignment |
|---|---|---|
| Observer | Read-only access to documents and extractions | Stakeholders, Auditors |
| Analyst | Upload documents, review drafts, mark for approval | Data entry staff, Junior analysts |
| Reviewer | Approve/reject extractions, commit to database | Senior analysts, Supervisors |
| Admin | Full system access, user management, configuration | System administrators, ISSOs |
Separation of Duties
M-25-21 Control: The system enforces that analysts cannot commit AI extractions to the database — only reviewers and admins hold commit authority. This prevents single points of failure and ensures appropriate oversight.
// Permission matrix
┌─────────────┬─────────┬─────────┬──────────┬────────┐
│ Action │Observer │ Analyst │ Reviewer │ Admin │
├─────────────┼─────────┼─────────┼──────────┼────────┤
│ View │ ✓ │ ✓ │ ✓ │ ✓ │
│ Upload │ ✗ │ ✓ │ ✓ │ ✓ │
│ Edit Draft │ ✗ │ ✓ │ ✓ │ ✓ │
│ Commit │ ✗ │ ✗ │ ✓ │ ✓ │
│ User Mgmt │ ✗ │ ✗ │ ✗ │ ✓ │
└─────────────┴─────────┴─────────┴──────────┴────────┘Related Documentation
- Authentication — OAuth 2.0 + MFA implementation
- Architecture — System design and data flow
- API Reference — Audit log API endpoints