← Documentation Home

FedRAMP Compliance

FedRAMP Moderate baseline compliance for federal government cloud services.

Overview

The Bluefly LLM Platform implements FedRAMP Moderate baseline controls: - Baseline: FedRAMP Moderate (325 controls from NIST 800-53) - Impact Level: Moderate - Authorization: FedRAMP-ready (preparing for ATO) - Framework: NIST Risk Management Framework (RMF) - Continuous Monitoring: Automated compliance validation

FedRAMP Moderate Baseline

Control Families

Family Controls Implementation
Access Control (AC) 21 ✅ Implemented
Awareness and Training (AT) 4 ✅ Implemented
Audit and Accountability (AU) 12 ✅ Implemented
Security Assessment (CA) 9 ✅ Implemented
Configuration Management (CM) 11 ✅ Implemented
Contingency Planning (CP) 10 ✅ Implemented
Identification and Authentication (IA) 11 ✅ Implemented
Incident Response (IR) 8 ✅ Implemented
Maintenance (MA) 6 ✅ Implemented
Media Protection (MP) 8 ✅ Implemented
Physical and Environmental (PE) 17 ✅ Implemented
Planning (PL) 8 ✅ Implemented
Personnel Security (PS) 8 ✅ Implemented
Risk Assessment (RA) 5 ✅ Implemented
System and Services Acquisition (SA) 17 ✅ Implemented
System and Communications (SC) 43 ✅ Implemented
System and Information Integrity (SI) 17 ✅ Implemented
Program Management (PM) 16 ✅ Implemented

Total Controls: 325 (FedRAMP Moderate baseline)

Key Control Implementations

AC-2: Account Management

Implementation: - Automated user provisioning via GitLab OAuth - Role-based access control (RBAC) - Account review every 90 days - Automatic deprovisioning on termination

Evidence:

// Account lifecycle management
class AccountManager {
  async createAccount(user: User): Promise<Account> {
    // AC-2(1) - Automated account management
    const account = await this.provisionAccount(user);

    // AC-2(2) - Temporary accounts disabled after 90 days
    await this.scheduleAccountReview(account, 90);

    // AC-2(3) - Disable inactive accounts after 30 days
    await this.scheduleInactivityCheck(account, 30);

    // AC-2(4) - Audit account actions
    await this.auditLog.log({
      event: 'account_created',
      userId: user.id,
      timestamp: new Date()
    });

    return account;
  }
}

AU-2: Audit Events

Implementation: - Comprehensive audit logging - Tamper-proof log storage - Real-time SIEM integration - 90-day log retention (configurable)

Audited Events:

{
  "events": [
    "authentication_success",
    "authentication_failure",
    "authorization_decision",
    "data_access_pii",
    "data_access_phi",
    "configuration_change",
    "privileged_operation",
    "security_event"
  ]
}

IA-2: Identification and Authentication

Implementation: - Multi-factor authentication (MFA) support - OAuth 2.0 with GitLab - JWT with RSA-2048 signing - Certificate-based authentication (mTLS)

MFA Enforcement:

const mfaRequired = user.roles.includes('admin') ||
                    resource.classification === 'sensitive';

if (mfaRequired && !user.mfaVerified) {
  throw new AuthenticationError('MFA_REQUIRED');
}

SC-7: Boundary Protection

Implementation: - Network segmentation (DMZ, App, Data) - Web Application Firewall (WAF) - Intrusion Detection/Prevention (IDS/IPS) - DDoS protection

Network Zones:

zones:
  dmz:
    description: "Edge services"
    services: [gateway, waf]
    allowedPorts: [443, 80]

  application:
    description: "Application services"
    services: [agent-mesh, workflow-engine, compliance-engine]
    allowedPorts: [3001-3100, 50051]

  data:
    description: "Data tier"
    services: [postgresql, redis, timescaledb]
    allowedPorts: [5432, 6379]
    encryption: required

SC-8: Transmission Confidentiality

Implementation: - TLS 1.3 for all HTTP traffic - gRPC with mTLS for service mesh - IPSec for VPN connections

TLS Configuration:

ssl_protocols TLSv1.3;
ssl_ciphers 'TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256';
ssl_prefer_server_ciphers off;
ssl_certificate /etc/certs/server.crt;
ssl_certificate_key /etc/certs/server.key;

SC-13: Cryptographic Protection

Implementation: - AES-256-GCM for data at rest - RSA-2048 for JWT signing - SHA-256 for hashing - FIPS 140-2 validated crypto modules

Encryption Implementation:

class EncryptionService {
  private algorithm = 'aes-256-gcm';
  private keyDerivation = 'pbkdf2';
  private iterations = 100000;

  async encrypt(data: string, key: Buffer): Promise<EncryptedField> {
    const iv = crypto.randomBytes(12);
    const salt = crypto.randomBytes(32);

    // Derive key using PBKDF2
    const derivedKey = crypto.pbkdf2Sync(
      key,
      salt,
      this.iterations,
      32,
      'sha256'
    );

    // Encrypt with AES-256-GCM
    const cipher = crypto.createCipheriv(this.algorithm, derivedKey, iv);
    const encrypted = Buffer.concat([
      cipher.update(data, 'utf8'),
      cipher.final()
    ]);

    const tag = cipher.getAuthTag();

    return {
      ciphertext: encrypted.toString('base64'),
      iv: iv.toString('base64'),
      salt: salt.toString('base64'),
      tag: tag.toString('base64'),
      algorithm: this.algorithm
    };
  }
}

SI-4: Information System Monitoring

Implementation: - Real-time SIEM integration - Automated threat detection - Performance monitoring (Agent Tracer) - Security event correlation

Monitoring Stack:

monitoring:
  siem:
    tool: splunk
    endpoints:
      - siem.bluefly.io:8088
    events:
      - authentication
      - authorization
      - security_events

  metrics:
    tool: prometheus
    retention: 90d
    alerting:
      - high_error_rate
      - unusual_activity
      - certificate_expiry

  tracing:
    tool: agent-tracer
    storage: timescaledb
    retention: 30d

Continuous Monitoring

Automated Compliance Validation

Frequency: Hourly Tools: Compliance Engine Reports: Daily summary, monthly detailed

Validation Script:

# Run compliance validation
npm run compliance:validate

# Generate report
npm run compliance:report --format fedramp

Sample Report:

{
  "timestamp": "2025-01-15T10:00:00Z",
  "baseline": "FedRAMP Moderate",
  "totalControls": 325,
  "compliant": 323,
  "nonCompliant": 2,
  "notApplicable": 0,
  "complianceRate": 99.38,
  "findings": [
    {
      "control": "AC-2(4)",
      "status": "non-compliant",
      "issue": "Account review overdue for 3 users",
      "remediation": "Scheduled for next business day"
    }
  ]
}

Monthly Assessment

Activities: - Control validation - Vulnerability scanning - Configuration audit - Access review - Incident review

Documentation

System Security Plan (SSP)

Sections: 1. System Identification 2. System Categorization (FIPS 199) 3. Security Control Implementation 4. System Architecture Diagrams 5. Data Flow Diagrams 6. Security Control Traceability Matrix

Plan of Action and Milestones (POA&M)

Track remediation of non-compliant controls:

Control Finding Remediation Due Date Status
AC-2(4) Account review overdue Manual review of 3 accounts 2025-01-16 In Progress
SI-2 1 medium vulnerability Apply security patch 2025-01-22 Scheduled

Contingency Plan (CP)

Recovery Objectives: - RPO: 1 hour - RTO: 4 hours

Backup Strategy: - Database: Every 6 hours - Files: Daily - Configuration: On change

Authorization Process

Steps to FedRAMP Authorization

  1. Package Development (3-6 months)
  2. System Security Plan (SSP)
  3. Security Assessment Plan (SAP)
  4. Privacy Impact Assessment (PIA)

  5. Security Assessment (2-3 months)

  6. Third-Party Assessment Organization (3PAO)
  7. Vulnerability scanning
  8. Penetration testing

  9. Authorization (2-4 months)

  10. Security Assessment Report (SAR)
  11. Plan of Action & Milestones (POA&M)
  12. Agency review and ATO

  13. Continuous Monitoring (Ongoing)

  14. Monthly ConMon reports
  15. Annual assessments
  16. Incident reporting

Current Status: Package Development (75% complete)

Compliance Automation

Compliance Engine:

import { ComplianceEngine } from '@bluefly/compliance-engine';

const engine = new ComplianceEngine({
  framework: 'fedramp-moderate',
  autoRemediate: true,
  reportingFrequency: 'daily'
});

// Validate all controls
const report = await engine.validate();

// Auto-remediate where possible
await engine.remediate(report.findings);

// Generate FedRAMP report
await engine.generateReport({
  format: 'fedramp',
  output: './reports/fedramp-monthly.pdf'
});

Next Steps