neuralmind.uk / NeuralMind Compliance Summary Edit this page on GitHub ↗

NeuralMind Compliance Summary

One-page reference for procurement, security review, and compliance teams. Consolidates the NIST AI RMF, SOC 2, CMMC 2.0, and GDPR claims already documented across SECURITY-GUIDE.md and ENTERPRISE.md into a single reviewable surface.

Honest scope: NeuralMind itself is not certified to any compliance framework. The architecture supports certification of your deployment — every required control is either built in or available to switch on. The evidence below is auditable; the certifications are yours to obtain.


At a glance

Posture NeuralMind support
Data leaves your machine Never by default — fully local, no telemetry, no remote logging, no update checks. One opt-in exception: see below
Code uploaded to a cloud provider No — all embeddings generated and stored locally via ChromaDB or the local ONNX backend
Outbound network at runtime None by default — install-time only unless NEURALMIND_LLM_SEED=1 + ANTHROPIC_API_KEY are explicitly set, which sends only README/architecture-doc prose (never code, never client files) to Anthropic for synapse seeding. See compliance/THIRD_PARTY_LLM_DISCLOSURE.md and the air-gapped walkthrough
Video/media file ingestion Not supported — no code path accepts video, image, or audio files at any layer; see compliance/THIRD_PARTY_LLM_DISCLOSURE.md §2
Certifications held None. NeuralMind has no SOC 2 report and no CMMC assessment. Both frameworks assess an organization’s environment; the sections below show what NeuralMind gives your assessor
Audit trail Built-in — .neuralmind/audit_events.jsonl append-only log + query provenance
Software Bill of Materials Auto-generated — CycloneDX JSON attached to every tagged release
Secure development (NIST SP 800-218 SSDF) Practice-by-practice evidence in compliance/SSDF.md. (v4.14.0+) Container images are signed (cosign, keyless), releases carry build-provenance attestations, and a VEX document lists the dependency advisories that don’t apply. NIST doesn’t certify against the SSDF: a federal buyer asks for CISA’s attestation form, signed by Cheval-Volant LLC
License MIT — full source review, no vendor lock-in
Source available Yes — entire codebase on GitHub, every claim verifiable

NIST AI RMF (AI Risk Management Framework) — full coverage

The four NIST AI RMF functions and the evidence NeuralMind provides for each:

GOVERN — oversight, accountability, policies

MAP — impact assessment, context

MEASURE — performance, quality

MANAGE — risk controls


SOC 2 — Trust Services Criteria evidence

A SOC 2 report is a CPA firm’s attestation about a service organization’s controls, measured against the AICPA Trust Services Criteria. Security (the Common Criteria, CC) is in every report; Availability (A), Processing Integrity (PI), Confidentiality (C), and Privacy (P) are optional. NeuralMind runs inside your environment and transmits no repository content to us, so in your audit it is software within your system boundary, not a subservice organization.

Criterion What it covers NeuralMind evidence
CC6.1 Logical access security The MCP server uses the stdio transport by default, so only the agent process that launched it can call it. With security.identity: os (v4.7.0+) it identifies that caller by the OS account the OS authenticated, and refuses the HTTP transport. The graph server binds to 127.0.0.1 by default (--host changes it) and requires an access token, persisted across restarts, unless started with --no-auth
CC6.3 Role-based access, least privilege Per-tool permission sets for admin, builder, and reader (neuralmind/mcp_security.py), with denials written to the audit log. By default each MCP call declares its own role; with security.identity: os the role comes from security.users for the caller’s OS account, and what a call claims is logged, not used
CC6.7 Restricting transmission of information By default, no telemetry and no repository content sent off the machine; the one outbound request is the embedding-model download, pre-seedable with NEURALMIND_ONNX_MODEL_DIR. The opt-in NEURALMIND_LLM_SEED=1 sends the project’s README.md and docs/architecture.md to Anthropic
CC7.1 Detecting vulnerabilities CycloneDX SBOM on every tagged release, for your SCA scanner
CC7.2 Monitoring for anomalies Hash-chained .neuralmind/audit_events.jsonl (neuralmind audit verify walks the chain), /healthz endpoint, live activity feed
CC9.2 Vendor and business-partner risk MIT source, SBOM, and the third-party LLM disclosure for the opt-in NEURALMIND_LLM_SEED path
A1.2 Backup and recovery All state is local files: .neuralmind/ (SQLite and JSONL), the committed .neuralmind-team-memory.json, and graphify-out/ where it exists (older builds, or the graphify backend). Back them up with your normal tooling, or rebuild the index from source with neuralmind build
C1.1 / C1.2 Keeping and disposing of confidential information The index and audit log stay in the project directory under your access controls; the deletion procedure lists every location to remove, including the committed .neuralmind-team-memory.json
P3.1 / P4.1 Collecting and using personal information only for stated purposes No telemetry, so nothing is collected by us. Locally, the audit log stores each query’s full text and an actor name (NEURALMIND_ACTOR or the OS login), which can be personal data and falls under your privacy controls

The policies the project itself runs under (access control, change management, incident response, and others) are in compliance/, each tagged with the criteria it addresses.


CMMC 2.0 — practice evidence

CMMC assesses a defense contractor’s environment, not a tool. Level 1 covers the 15 FAR 52.204-21 requirements for Federal Contract Information (FCI); Level 2 covers the 110 NIST SP 800-171 Rev. 2 requirements for Controlled Unclassified Information (CUI); Level 3 adds selected NIST SP 800-172 requirements.

If NeuralMind indexes source code that is CUI, the index, synapse store, and audit log derived from it are CUI too, and NeuralMind becomes an asset inside your assessment scope. The table shows what NeuralMind gives your assessor and what stays your environment’s job. Practice IDs are Level 2.

Practice Requirement NeuralMind provides Still yours
AC.L2-3.1.1 Limit system access to authorized users Stdio MCP transport by default, reachable only by the agent process that launched it. With security.identity: os (v4.7.0+), calls are identified by the OS account the OS authenticated; accounts without a role, and the HTTP transport, are refused. The graph server binds to 127.0.0.1 by default (--host changes it) and requires an access token unless started with --no-auth OS accounts and their authentication; file permissions on .neuralmind/; an administrator-owned policy file
AC.L2-3.1.2 Limit access to permitted functions Per-tool permission sets for admin, builder, and reader. With security.identity: os, the role comes from security.users and the role a call declares is ignored Mapping each OS account to a role. Without identity: os, any caller can declare admin, so the sets limit a well-behaved agent, not a hostile caller
AC.L2-3.1.20 Control connections to external systems By default, no telemetry and no repository content sent off the machine. The opt-in NEURALMIND_LLM_SEED=1 sends README.md and docs/architecture.md to Anthropic; it is off by default Keeping NEURALMIND_LLM_SEED off in a CUI enclave; pre-seeding the model with NEURALMIND_ONNX_MODEL_DIR
AU.L2-3.3.1 Create and retain audit records Append-only .neuralmind/audit_events.jsonl covering queries, searches, builds, and MCP calls Retention period and forwarding to your SIEM
AU.L2-3.3.2 Trace actions to individual users Every event records an actor. With security.identity: os, it is the OS account, read from the OS, for MCP calls and CLI events alike; a declared actor or NEURALMIND_ACTOR is kept as claimed_actor Without identity: os, the actor is whatever the caller or environment says; tie events to OS login records
AU.L2-3.3.8 Protect audit information SHA-256 hash chain: neuralmind audit verify detects a changed or removed record in the middle of the log, a record without a hash once the chain has started, and a line that isn’t a JSON object (v4.8.0 and earlier missed those at the end of the log). It cannot detect removal of the newest records, or a rewrite that recomputes the chain, which has no secret key Write protection and forwarding to your SIEM, so a local rewrite can’t go unseen
CM.L2-3.4.1 Baseline configurations and inventories CycloneDX SBOM on every tagged release Recording the pinned version in your baseline
CM.L2-3.4.7 Restrict nonessential ports and services Stdio MCP transport by default; HTTP servers bind to 127.0.0.1 by default (neuralmind serve --host can change it); air-gapped install Not exposing the HTTP transport beyond the enclave
SC.L2-3.13.11 FIPS-validated cryptography for CUI NeuralMind doesn’t encrypt data itself. Its own hash calls work with the OS FIPS mode on (v4.13.0+; earlier, document ingestion crashed there), and CI runs the test suite with the OpenSSL FIPS provider enforced. doctor reports the OS FIPS mode on Linux and Windows FIPS-validated full-disk encryption on the host, with the OS FIPS mode on
SC.L2-3.13.16 Protect CUI at rest With security.require_encrypted_storage: true (v4.7.0+), NeuralMind verifies FileVault, BitLocker, or dm-crypt/LUKS on every volume holding its state (project, .neuralmind/, a custom index path), refuses to build, query, serve MCP tools, or run hooks without it, and logs each check The encryption itself, covering .neuralmind/, .neuralmind-team-memory.json, and any graphify-out/
SI.L2-3.14.1 Identify and correct system flaws Vulnerability disclosure policy, SBOM for your scanner Staying on the latest release

The AI agent is the boundary that matters. NeuralMind hands code slices to your coding agent, and the agent sends them to its model provider. If that code is CUI, the provider is a cloud service handling covered defense information and must meet DFARS 252.204-7012 (FedRAMP Moderate or equivalent). NeuralMind reduces how much code the agent sends; it does not make a provider eligible.

To point an assessor at where a practice is implemented in your own code, neuralmind compliance . lists annotations such as // AC.L2-3.1.1: Authorized access control. Finding an annotation shows where a practice is claimed, not that it works.


GDPR considerations

NeuralMind processes code. Code can contain comments referencing names, emails, or other PII. The relevant GDPR posture:

NeuralMind does not act as a data processor in the GDPR sense in its default configuration — there is no external entity to which data is transferred, and the operator is the sole controller. The one exception is the opt-in NEURALMIND_LLM_SEED=1 documentation-synapse-seeding path, which makes Anthropic a subprocessor for README/architecture-doc prose only, if and only if an operator explicitly enables it. See compliance/THIRD_PARTY_LLM_DISCLOSURE.md for the full disclosure, including how to verify it stays disabled.


Software Bill of Materials (SBOM)

Every tagged release from v0.9.0 onward ships a CycloneDX JSON SBOM attached as a GitHub Release asset:

The SBOM is regenerated on every tag push; you can pin a specific release’s SBOM by URL: https://github.com/dfrostar/neuralmind/releases/download/vX.Y.Z/neuralmind-vX.Y.Z.sbom.json.


Container image provenance

Container builds from v0.9.0 onward are auto-published to GHCR (workflow source):


Deployment postures (strict → permissive)

Posture Setup Use case
Air-gapped docs/use-cases/air-gapped.md — no outbound network at any phase Defence, classified, fully isolated
Offline runtime Default install; cuts network after pip install Regulated industries, sensitive code
On-prem with internet Default install; uses pip and GHCR Most enterprises
Developer workstation Default install Individual developers, small teams

Choose the strictest your operational needs allow — all four use the same NeuralMind binary; the difference is which network paths you cut.


Verification — every claim is verifiable

Claim How to verify yourself
“No outbound network at runtime” ss -tnp \| grep python while running neuralmind query — no connections
“Audit trail captures every query” cat .neuralmind/audit_events.jsonl after a session
“SBOM covers the full dep tree” Run syft . on a local install, diff against the released SBOM
“Local processing” After one build has cached the embedding model (or with NEURALMIND_ONNX_MODEL_DIR pre-seeded), disconnect the network: neuralmind build . && neuralmind query . "where is auth handled?" still works
“MIT core, source-available Team modules” LICENSING.md draws the boundary; every file is readable at https://github.com/dfrostar/neuralmind
“Container image is non-root” docker run --rm --entrypoint id ghcr.io/dfrostar/neuralmind:latest

Contact


Document scope

This is the summary view. For depth: