Skip to content

Compliance Dashboard Demo

Demo Overview

Duration: 30-40 minutes | Level: Intermediate | Category: Governance

Explore the FCC compliance monitoring system across 13 regulatory frameworks spanning privacy, security, health, government, and AI/digital domains.

Prerequisites

  • FCC framework installed (pip install -e .)
  • Familiarity with FCC governance concepts (constitutions, quality gates)

What You'll Learn

  • How to load and query the RegulatoryRegistry
  • How to evaluate compliance for individual regulations
  • How to generate cross-regulation summaries
  • How to render compliance dashboards in terminal and Streamlit
  • How to identify cross-regulation control overlaps

Step 1: Load the Regulatory Registry

Load all 13 regulations from the packaged data files.

Loading the regulatory registry

from fcc.governance.regulatory import RegulatoryRegistry

registry = RegulatoryRegistry.default_registry()
print(f"Loaded {len(registry)} regulations")
print(f"Regulation IDs: {registry.regulation_ids()}")

Expected output: Registry with 13 regulations across 5 domains.

Try it yourself

Modify the code to filter regulations by domain using registry.by_domain().


Step 2: Inspect Privacy Regulations

Examine the three privacy regulations: GDPR, CCPA, and CPRA.

from fcc.governance.compliance_models import RegulatoryDomain

privacy_regs = registry.by_domain(RegulatoryDomain.PRIVACY)
for reg in privacy_regs:
    print(f"\n{reg.full_name} ({reg.regulation})")
    print(f"  Controls: {len(reg.controls)}")
    print(f"  Gates: {len(reg.gates)}")
    print(f"  Metrics: {len(reg.metrics)}")
    print(f"  Compliance rate: {reg.compliance_rate:.0%}")

Expected output: Three privacy regulations with their control counts and compliance rates.

Troubleshooting

If by_domain() returns an empty list, ensure the compliance_regulations.yaml file is present in src/fcc/data/governance/.


Step 3: Evaluate a Single Regulation

Run a detailed compliance evaluation for GDPR.

result = registry.evaluate_compliance("GDPR")
for key, value in result.items():
    print(f"  {key}: {value}")

Expected output: GDPR evaluation with compliance rate, gate pass rate, and status.


Step 4: Generate Cross-Regulation Summary

Generate an overall compliance posture summary.

summary = registry.summarize()
print(f"Total regulations: {summary.total_regulations}")
print(f"Passing: {summary.passing}")
print(f"Failing: {summary.failing}")
print(f"Coverage: {summary.coverage_pct}%")
for reg, score in sorted(summary.regulation_scores.items()):
    print(f"  {reg}: {score:.0%}")

Expected output: Summary showing passing/failing counts and per-regulation scores.


Step 5: Render Terminal Dashboard

Display the compliance dashboard in ASCII format.

from fcc.dashboard.compliance import render_compliance_overview

dashboards = registry.all_regulations()
output = render_compliance_overview(dashboards)
print(output)

Expected output: ASCII table with status badges, progress bars, and gate counts.


Step 6: Identify Cross-Regulation Overlaps

Explore shared controls across regulations.

import yaml
from fcc._resources import get_governance_dir

mappings_path = get_governance_dir() / "regulatory_mappings.yaml"
data = yaml.safe_load(mappings_path.read_text())

for overlap in data["overlaps"][:5]:
    print(f"\n{overlap['theme']}:")
    for reg in overlap["regulations"]:
        print(f"  {reg['regulation']}: {reg['control']}")

Expected output: Overlap matrix showing shared requirements.


Step 7: Launch Streamlit Dashboard

Open the interactive Streamlit compliance dashboard.

streamlit run apps/streamlit/compliance_dashboard.py

Expected output: Multi-tab Streamlit app with domain-specific regulation views.


Summary

In this demo, you explored the FCC compliance monitoring system:

  • Loaded 13 regulations across 5 domains
  • Evaluated individual regulation compliance
  • Generated cross-regulation summaries
  • Rendered terminal and Streamlit dashboards
  • Identified cross-regulation control overlaps

Next Steps