Skip to main content

GRC Lake — collect, evaluate, resolve, and export: read-only evidence from cloud, identity, code, and data sources, evaluated through a common control framework and framework packs.

PyPI version Python 3.11+ CI status License: Apache 2.0 OpenSSF Scorecard OpenSSF Best Practices

Turn security evidence into traceable control assessments and reviewable audit workpapers. GRC Lake is open-source and self-hosted, running in infrastructure you control. Read evidence from existing systems and security lakes, evaluate versioned rules, and preserve the evidence and review decisions behind each result.

Quick start · Product tour · Self-host · Engineering review · Coverage · Documentation

Quick start

The tour and catalog counts describe current source; see release status for changes since the published package.

Install published v0.3.9 with Python 3.11+ on macOS or Linux:

python -m venv .venv
source .venv/bin/activate
pip install "grc-lake[server]==0.3.9"
grc-lake fixtures load --company golden --out ./lake --rebase-times
grc-lake serve --server --allow-insecure-no-auth --lake ./lake --host 127.0.0.1 --port 8787

Open localhost:8787/console/dashboard/. This loopback demo uses synthetic data and disables authentication. First task: find a failing control, inspect its evidence and mapping, then export the frozen result. Follow the sample-data tutorial; continue with the synthetic workpaper example to inspect a scoped test plan, population gaps, and a verified export. The source walkthrough also shows how to verify a workpaper handoff against a separately retained content digest, including detection of a self-consistent replacement. Installation time depends on your machine and connection.

Docker, source development, or MCP

The public Docker image needs no registry login. Use the published templates:

git clone --branch v0.3.9 --depth 1 https://github.com/koda-ai-studio/grc-lake.git
cd grc-lake
docker compose up

For current source, with uv and Node 22+:

git clone https://github.com/koda-ai-studio/grc-lake.git
cd grc-lake
uv sync --frozen --extra dev --extra server
make demo-local

For MCP over stdio:

pip install "grc-lake[mcp]==0.3.9"
GRC_LAKE_LAKE=./lake grc-lake-mcp

See headless GRC for agent credentials and authority.

Already have an Agent-Bom JSON scan report? The current-source report importer brings findings into scoped GRC evidence with explicit control bindings and retained scan provenance.

Product tour

Collect → Evaluate → Resolve → Export. Read source evidence, run version-pinned control tests, investigate findings, and export a scoped assessment.

Start with the assessment overview

See assessed coverage, open findings, evidence freshness, and priority actions together. Framework posture distinguishes assessed results from requirements that still need evidence.

Overview showing assessment coverage, findings, stale evidence, framework posture, and priority actions

Explore framework coverage

Browse framework packs and their requirements, compare mapped and reviewed coverage, and open the controls or mappings that need attention. Catalogued, mapped, reviewed, and assessed requirements remain separate measures.

Frameworks showing requirement coverage, mapping-review status, and the framework roster

Inspect control results and evidence

Filter the control worklist by result, owner, or framework. Open a control to inspect its evidence, findings, freshness, and test confidence.

Controls worklist showing test results, evidence freshness, confidence, and owners

Navigate control families and the CCF

The Common Control Framework (CCF) organizes reusable safeguards into categories and control families. Explore their links to framework requirements and see reviewed and proposed mappings separately. Proposed mappings are not attestable.

How common safeguards work.

Trace a finding through the evidence graph

Follow exact records between controls, safeguards, evidence, repositories, and assets. Select a node to inspect it; drill into its connections or roll up to the previous view. Depth and layer controls keep the investigation focused.

Evidence investigation graph connecting a SOC 2 control to evidence, a repository, an asset, and a safeguard, with a selected-node inspector

Review AI assets and their next actions

The model and agent worklist brings owners, environments, governance signals, and next actions together. Open an asset's linked controls or filtered evidence; recorded lineage remains distinct from freshly evaluated controls.

A model card documents a model's intended use, limitations, and evaluation. Model card not observed means no card signal was collected for that asset; the document may exist elsewhere. The synthetic demo includes inventory and lineage observations without model-card signals. Recorded means evidence presence, not verified content, freshness, or a passing control. See AI inventory semantics.

AI model and agent worklist showing owners, governance signals, and next actions

Screens use the bundled synthetic company, captured for v0.3.9 from source 0823048b on 2026-10-19 (America/New_York). They show recorded relationships and demo workflows, not a customer deployment or an audit opinion.

Try the five-minute console tour · How evidence investigation works

Architecture

Read-only collection feeds deterministic evaluation. Each published assessment retains verified artifact hashes; snapshots form a hash-chained ledger. Console, REST API, CLI, and MCP expose the same evidence and assessment model.

flowchart LR
  Sources["Cloud · identity · code · existing lakes"] --> Collect["Read-only collection"]
  Collect --> Evaluate["Version-pinned control tests"]
  Evaluate --> Assessments["Assessment generations"]
  Assessments --> Review["Console · API · CLI · MCP"]
  Assessments --> Export["Snapshots · workpapers · OSCAL"]

For an offline standards handoff, export a portable CCF/OSCAL bundle with resolvable framework catalogs, reviewed mappings, and document checksums.

For a review across SOC 2, ISO, and NIST, the current-source framework coverage report exports frozen catalog counts, mapping-review gaps, and evidence results as an offline HTML/JSON bundle.

Use direct connectors or read an existing lake. Both materialize assessment evidence into storage you operate. Reader compatibility, schema mapping, and live qualification vary; check the connector catalog.

Queued assessments retain tenant-scoped result receipts. Pagination, queue admission, response storage, and retries have explicit bounds. See the assessment contract and architecture guide for recovery behavior and API limits.

Engineering review

Start with one control and follow its source evidence through a retained assessment into a verified workpaper. The synthetic access/change workflow runs passing, failing, missing, stale, conflicting, and incomplete-population cases with explicit expectations and retained inputs.

Review question Implementation and evidence
How do the layers fit together? Architecture and source map, data flow
What makes a result pass, fail, or remain unknown? Evaluation semantics, population reconciliation
What prevents cross-tenant access and unauthorized decisions? Trust boundaries, identity and scopes
What happens after partial writes, retries, or interrupted jobs? Generation publication, operation contracts
How are integrity and reproducibility checked? Workpaper qualification, backup and restore
What performance has actually been measured? Pipeline measurements, graph latency and memory

Run checks from the revision being reviewed; the CI badge above tracks main. Benchmark receipts identify their own revisions and workloads. A local synthetic pass does not establish provider completeness, production capacity, or an audit opinion. Current qualification records those boundaries.

Self-host

Deploy with Docker or Helm on your infrastructure:

  • Local: one writable replica with a filesystem lake.
  • Distributed: API replicas and tenant workers share PostgreSQL and S3-compatible storage. CLI assessments use a filesystem lake; MCP uses the authenticated API for distributed deployments.
  • Production: configure SSO and scoped credentials, retention, and backup/restore.

See deployment compatibility and the distributed guide. Production capacity and provider failover require deployment-specific qualification.

Release packages include signed provenance and an SBOM. Follow artifact verification. Upgrading from TrustOps? Read the migration guide.

Frameworks

  • Reviewed requirements by framework: SOC 2 33/61 (10 with no recorded reviewer), ISO 27001 17/93 (10 with no recorded reviewer), HIPAA 4/24 (4 with no recorded reviewer), PCI DSS 0/12 (top-level), NIST CSF 2.0 72/106, NIST SP 800-53 495/1,014 (381 source-native self-maps; 96 with no recorded reviewer). Every pack is in the coverage matrix.
  • 21 framework packs, 2,282 catalogued requirements (1,995 distinct; FedRAMP Moderate's 287 rows restate NIST SP 800-53 controls), linked through 1195 safeguards, including source-native assessment contracts. 2,196 requirements have safeguard mappings; 1,163 have reviewed mappings and the other 1,033 are proposed. Of the reviewed, 381 are source-native self-maps (written from that requirement's own pinned source) and 782 rest on reviewed crosswalk mappings; 339 rest only on legacy reviews with no recorded reviewer. The blended total is not a per-framework readiness figure.
  • 25 read-only source adapters (7 in preview), plus OCSF presets for existing security lakes.
  • Evidence stays scoped: missing or stale evidence leaves gaps; a passing sample does not prove complete population coverage. Proposed mappings are not attestable.
  • One engine, four surfaces: console, REST API, CLI, and MCP server. Agents propose; humans approve.

Explainable audit readiness: the API and audit room show score, evaluated-framework, and blocking-gap gates. A high index cannot hide an unresolved framework assessment. See the decision contract and reproducible regression.

Catalog counts above are generated from source. Reviewed counts record maintainer mapping decisions; see the review method and limits. Mapping-review decisions do not change access at a provider.

Framework coverage · Common safeguards · Qualification and test coverage

Fixture tests and screenshots do not establish live-provider accuracy, production capacity, or certification. See audit readiness for qualification boundaries and the roadmap for remaining gaps.

Documentation

Task Guide
Try the console Product walkthrough
Connect evidence Connector setup · Existing lakes
Integrate an agent Headless GRC · Agent API
Operate a deployment Deployment · Operations
Contribute Contributing · Security

All documentation. Regenerate the header and counts with make readme-header; capture demo screens with make demo-screenshots-full. License: Apache 2.0.

Metadata

Release files for grc-lake 0.3.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for grc-lake 0.3.10
File Size Uploaded Provenance
grc_lake-0.3.10.tar.gz 3.9 MB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for grc-lake 0.3.10
File Interpreter ABI Platform
grc_lake-0.3.10-py3-none-any.whl Python 3 none any Details

Total release size: 7.7 MB

Release files / grc_lake-0.3.10.tar.gz

Download URL grc_lake-0.3.10.tar.gz
Size 3.9 MB
Tags Source
SHA-256 checksum
How to use checksums
9b6a05adc64bfd9a9099633e4b3b3e68b4581187f61d8aef8d5f5dbadb11c4bb
BLAKE2b-256 checksum
How to use checksums
56b8cf7e569a874e5da660e3e493c68d16a906ec84828fdbc856cf4718b84a5e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.

Transparency log

Release files / grc_lake-0.3.10-py3-none-any.whl

Download URL grc_lake-0.3.10-py3-none-any.whl
Size 3.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
c2d0f1b2e05c2a3675ed21a0ab2cd388660161c77ece9a331245bace42e2ca3b
BLAKE2b-256 checksum
How to use checksums
66f7f1042b5703cb70c06d36a2dea6e23f687898351fa1bfc6b100fb66ef1c76
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.

Transparency log

Security for grc-lake 0.3.10

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for grc_lake-0.3.10.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page