Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,066 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SPARC — Systematic Policy and Regulatory Compliance

SPARC Logo

SPARC is an open-source compliance documentation platform that transforms how organizations manage NIST 800-53 security controls. It replaces fragmented spreadsheets and siloed documents with a coordinated, web-based, real-time source of truth — empowering security teams, assessors, system owners, and program managers to document, assess, and prove compliance across the full RMF lifecycle.

Documentation: See the SPARC Wiki for comprehensive documentation covering RBAC, screens, core functions, integrations, architecture, and configuration.

Home Page


SonarQube Cloud


Key Features

  • Full RMF Artifact Lifecycle — Manage Catalogs, Profiles, Component Definitions (CDEFs), SSPs, SAPs, SARs, and POA&Ms in one platform
  • SSP Creation Wizard — Build System Security Plans from scratch by selecting baselines and assembling components
  • Multi-Format Import — Import from OSCAL JSON, OSCAL XML, DISA STIGs (XCCDF), and InSpec profiles
  • OSCAL Export — Export validated OSCAL v1.1.2 JSON for SSPs, CDEFs, Profiles, SARs, and POA&Ms
  • HDF ↔ OSCAL Translation — Convert scanner findings (HDF) to OSCAL SAR via the MITRE hdf-libs bridge, with optional evidence back-matter enrichment
  • Document Review & Approval — Optional review queue and approval workflow for trust-store documents, gated by SPARC_REQUIRE_DOCUMENT_APPROVAL
  • Authoritative Sources & Federation — Subscribe to HMAC-signed authoritative content bundles published by federation peers
  • Interactive Heat Maps — Visual compliance dashboards showing control status by NIST family
  • Inline Field Editing — Edit implementation details directly in the browser
  • Authentication & SSO — Local login, GitHub/GitLab OAuth, OIDC (Okta/Keycloak/ Entra ID), and LDAP
  • Role-Based Access — 29 NIST RMF roles with instance and authorization-boundary scoping, boundary-scoped document access (AC-3), and an admin UI
  • Background Processing — Async job processing for large files via Solid Queue (database-backed; Sidekiq + Redis optional)
  • RESTful API — Programmatic access at /api/v1/

Follow the Quick Start Guide to begin local use, testing, and development of the application.


Configuration

SPARC is configured via environment variables with sensible defaults. No configuration is required for local development.

  • Full reference: docs/ENVIRONMENT_VARIABLES.md
  • Production hardening guide: docs/PRODUCTION_SECURITY.md — operator-facing checklist of every security-relevant env var, deployment-layer requirement, and hardening verification steps
  • Quick start templates: .env.example (development), .env.production.example (production)

The centralized SparcConfig module (app/models/sparc_config.rb) reads all variables with defaults.


Documentation

📖 Public documentation lives in the SPARC Wiki — the canonical, kept-current home for product docs:

Getting Started Configuration Architecture
RBAC Data Isolation Screens
Core Functions Framework Mapping Integrations

📦 Release notes: GitHub Releases (the wiki Changelog is a concise index).

In-repo reference

Technical reference that ships next to the code — indexed in docs/MAP.md:

Topic Link
Environment variables (exhaustive) docs/ENVIRONMENT_VARIABLES.md
REST API (per-endpoint + Postman) docs/API.md · docs/api/
OSCAL field mappings & schemas docs/oscal-data-mapping.md · docs/data_mapping/
Production security & hardening docs/PRODUCTION_SECURITY.md · docs/AUTHENTICATION.md
Compliance artifacts docs/compliance/README.md · NIST 800-53 mapping · OSCAL CDEFs
Contributing (internal dev docs) docs/dev/issue_rules.md · docs/dev/README.md

RMF Artifact Lifecycle

The UI follows the OSCAL / RMF artifact dependency chain:

Order Artifact Purpose Status
1 Catalog Raw control definitions (e.g., NIST SP 800-53) Implemented
2 Profile Tailored baseline / selection set Implemented
3 Component Definition (CDEF) Reusable control implementations Implemented
4 System Security Plan (SSP) How the system implements the baseline Implemented
5 Assessment Plan (SAP) How the assessment will be performed Implemented
6 Assessment Results (SAR) Findings & evidence from assessment Implemented
7 POA&M Remediation tracking for weaknesses Implemented

Contributing

  1. Fork the repository

  2. Create a feature branch (git checkout -b feature/my-feature)

  3. Ensure all checks pass:

    bundle exec rubocop && bundle exec brakeman && bundle exec rspec
  4. Commit your changes and open a Pull Request against main

Branch Prefix Purpose
feature/ New functionality
fix/ Bug fixes
refactor/ Code restructuring
docs/ Documentation

Acknowledgments

Contributors

  • @clem-field — Creator, lead developer, and maintainer

License

SPARC is released under the Apache License, Version 2.0. Copyright 2026 Risk Sentinel.

Third-party content sources and per-component license dispositions are tracked in docs/compliance/THIRD_PARTY_NOTICES.md and docs/compliance/license-dispositions.yml. Canonical text for every license referenced by SPARC's SBOM lives under LICENSES/.

About

Ruby on Rails application for document interactions

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages