Get up and running with SPARC in minutes
SPARC runs on Ruby 3.4, Rails 8.1, and PostgreSQL. Choose your setup method:
# Clone the repository
git clone https://github.com/Rebel-Raiders/sparc.git
cd sparc
# Build and start all services (Rails, PostgreSQL, Redis, Sidekiq)
docker compose up --build
Docker maps PostgreSQL to port 5433 and Redis to port 6380 to avoid conflicts with local services.
# Install dependencies
bundle install
# Create database, run migrations, and seed NIST catalogs
bin/rails db:create db:migrate db:seed
# Start the server
bin/rails server
The default seed loads NIST SP 800-53 Rev 4 and Rev 5 control catalogs. For a full demo environment with sample documents:
# Seed with NIST catalogs only (default)
bin/rails db:seed
# Seed with full demo data (SSP, SAP, SAR, POA&M, CDEFs, Profiles, KSI validations)
SPARC_SEED_MODE=full bin/rails db:seed
# Seed only traditional RMF artifacts
SPARC_SEED_MODE=traditional bin/rails db:seed
# Seed only FedRAMP 20x artifacts (KSI validations)
SPARC_SEED_MODE=20x bin/rails db:seed
A default admin account is created during seeding:
Email: admin@sparc.local
Password: Sp@rc2025!Admin
You will be prompted to change this password on first login. Navigate to
/login to get started.
If you ran db:seed, NIST SP 800-53 Rev 4 and Rev 5 catalogs are already loaded. To import additional catalogs:
SPARC supports NIST OSCAL v1.1.2 catalogs. You can also import XCCDF benchmarks (DISA STIGs) and InSpec profiles.
SPARC supports two ways to create SSPs:
Upload an existing SSP Excel workbook. SPARC parses controls, implementation narratives, and status fields automatically via background processing.
Start a new SSP, select a baseline profile, and fill in implementation narratives per control. Use inline editing for rapid data entry.
Every document in SPARC can be exported as OSCAL-compliant JSON, YAML, or XML:
Exports include full OSCAL metadata (UUID, timestamps, parties, roles) and are ready for submission to FedRAMP or integration with automated compliance pipelines.
Generate an API token and make your first call:
# In Rails console, generate a token
token = ApiToken.generate!(user: User.first, name: "CLI Access")
puts token.plaintext_token
# Make your first API call
curl -H "Authorization: Bearer sparc_your_token" \
http://localhost:3000/api/v1/ssp_documents
By default, SPARC_API_AUTH is set to local, which accepts
locally-generated API tokens. For production deployments with Okta or another OIDC
provider, consider setting SPARC_API_AUTH=hybrid to accept both local
pipeline tokens and OIDC access tokens.
For the full API reference, see the API Documentation (requires login).
Need help? Contact us at support.sparc@risk-sentinel.info