← Documentation Home

Government Compliance Framework Module

Comprehensive government compliance with FedRAMP, HIPAA, GDPR, FISMA, and NIST cybersecurity framework support.

Module Information

Features

Installation

composer require drupal/gov_compliance
drush en gov_compliance -y

Dependencies

Core Modules (Required)

Security & Compliance (Required)

Audit (Required)

Integration

Suggested

Configuration

Navigate to: /admin/config/gov_compliance/admin_settings

# Compliance Frameworks
frameworks:
  fedramp:
    enabled: true
    level: 'moderate'
  hipaa:
    enabled: true
  gdpr:
    enabled: true
  fisma:
    enabled: true
  nist:
    enabled: true
    version: '800-53'

# Security Controls
security_controls:
  password_policy:
    min_length: 14
    character_types: 4
  encryption:
    enabled: true
    algorithm: 'AES-256'
  mfa:
    enabled: true
    methods: ['totp', 'sms']

Usage

Compliance Check

<?php

$compliance = \Drupal::service('gov_compliance.checker');
$result = $compliance->check('fedramp');

if ($result->isCompliant()) {
  // System is compliant
} else {
  $violations = $result->getViolations();
}

Generate Compliance Report

<?php

$reporter = \Drupal::service('gov_compliance.reporter');
$report = $reporter->generate('fedramp', [
  'format' => 'pdf',
  'include_evidence' => true,
]);

Audit Trail

<?php

$audit = \Drupal::service('gov_compliance.audit');
$audit->log('compliance_check', [
  'framework' => 'fedramp',
  'result' => 'compliant',
  'user_id' => $current_user->id(),
]);

API Endpoints

REST API

# Compliance status
GET /api/v1/compliance/status

# Run compliance check
POST /api/v1/compliance/check
{
  "framework": "fedramp"
}

# Generate report
POST /api/v1/compliance/report
{
  "framework": "fedramp",
  "format": "pdf"
}

GraphQL API

query {
  complianceStatus {
    framework
    status
    violations {
      control
      description
      severity
    }
  }
}

Compliance Frameworks

FedRAMP

HIPAA

GDPR

NIST 800-53

Security Controls

Password Policy

password_policy:
  min_length: 14
  character_types: 4
  expiration_days: 90
  history_count: 10

Encryption

encryption:
  enabled: true
  algorithm: 'AES-256-GCM'
  fields:
    - field_ssn
    - field_credit_card
    - field_health_data

Auto Logout

autologout:
  timeout: 900  # 15 minutes
  max_timeout: 1800  # 30 minutes

Testing

# Run compliance tests
vendor/bin/phpunit modules/custom/gov_compliance/tests

# Security scan
drush security-review

# PHPCS check
buildkit drupal phpcs modules/custom/gov_compliance

Resources

See Also