Reeflex — Open-Core Boundary¶
This document defines which components of Reeflex are open-source and which are commercial and closed. It is intended for contributors, adapter authors, and evaluators who need to know what they can build on, fork, and redistribute — and what they cannot see.
The boundary is absolute (see ADR-0001 §2): closed-tier material never appears in any public repository, in any form — no code, no configuration, no schema, no secrets.
The boundary at a glance¶
| Component | Tier | License | Status |
|---|---|---|---|
reeflex-core engine (/v1/decide, OPA integration, audit JSONL) |
Open | Apache 2.0 | Available |
reeflex-spec (Action Envelope + Adapter Contract + conformance suite + JSON schemas) |
Open | Apache 2.0 | Available |
reeflex-claude reference adapter (Claude Code) |
Open | Apache 2.0 | Available |
reeflex-wordpress reference adapter |
Open | Apache 2.0 | Available |
reeflex-mcp reference adapter (MCP gateway — any MCP upstream) |
Open | Apache 2.0 | Available (pip install reeflex-mcp) |
Community adapters (reeflex-postgres, reeflex-s3, etc.) |
Open | Apache 2.0 | Community-built against the spec |
| Base policy packs (Rego rules for the Action Envelope) | Open | Apache 2.0 | Available |
| Mock adapter + demo | Open | Apache 2.0 | Available |
| Attest — audit-ready control evidence (NIS2 · DORA · EU AI Act · SOC 2) | Commercial / closed | Proprietary | Not in any public repo |
| Fleet — multi-site management | Commercial / closed | Proprietary | [ROADMAP — not built, not available] |
| Cloud — hosted Reeflex (multi-tenancy, auth, billing) | Commercial / closed | Proprietary | [ROADMAP — not built, not available] |
The line, in one sentence¶
Everything that keeps you safe is free. What you pay for is help proving it.
The gate, the decisions, the adapters, the base policy packs, and the full audit trail are open — permanently. The commercial tier does not add safety; it adds attestation: Attest maps Reeflex decisions to specific control frameworks — NIS2 Article 21(2), already in force and under active audit across the EU; DORA; the EU AI Act Articles 12/14, whose high-risk obligations phase in 2 December 2027 (Digital Omnibus, Regulation (EU) 2026/1744); and SOC 2 — with auditor-ready reports and managed policy-pack updates as regulations change. Fleet manages policy and approvals across many sites; Cloud is a hosted engine for teams that don't want to operate one. Evidence is free; packaging that evidence in the language a regulator expects is the product.
For auditors: the open tier is already an evidence source¶
Every decision Reeflex makes — allowed, held, or denied — is written to an append-only JSONL audit log with the ability name, the computed impact axes, the rule that fired, the session, and the timestamp. Because the decision path is deterministic (same envelope in, same verdict out, every time — see ADR-0002), that record is not just a log of what happened: an auditor can take the same envelope and replay it against the same policy to reproduce the verdict, rather than having to trust the log's word for it. That gives an auditor something rare in AI-agent deployments: a pre-execution record of what an agent attempted, deterministic and replayable, not just a post-hoc log of what happened. You can answer "what could this agent have done, and what stopped it?" from the open tier alone, today. (Cryptographic tamper-evidence for audit records is on the roadmap; current records are append-only but not signed.)
Open tier — what it contains and what you can do with it¶
Everything in the open tier is Apache 2.0. You can use it, fork it, redistribute it, and build commercial products on top of it, subject to the Apache 2.0 terms.
reeflex-core¶
The governance engine. Exposes one endpoint:
Implemented in Python + OPA/Rego. Decision evaluation is deterministic: same envelope in, same decision out, every time. Zero LLM in this path (see ADR-0002). The engine stores an audit log in JSONL format; Postgres audit persistence is on the roadmap.
reeflex-spec¶
The portable contract that makes all adapters interoperable:
- Action Envelope — the normalized JSON shape every adapter must produce (SPEC §2).
- Adapter Contract — four responsibilities every compliant adapter must implement: intercept, normalize, enforce, audit (SPEC §6).
- Conformance suite — deterministic input/output test cases that prove an adapter is compliant (SPEC §7).
- JSON schemas — machine-readable envelope and decision schemas.
The spec is backend-agnostic. reeflex-core knows nothing about WordPress, Postgres, or
S3. It evaluates envelopes. The spec defines what a valid envelope looks like.
reeflex-wordpress — reference adapter¶
The reference implementation of the Adapter Contract. It proves the contract is implementable, serves as the primary adoption surface (WordPress runs a large proportion of the web), and is the template from which community adapters are built.
reeflex-mcp — reference adapter (MCP gateway)¶
A transparent MCP proxy that governs any MCP upstream (stdio or streamable-HTTP): it
intercepts tools/call, normalizes it into the Action Envelope via declarative
per-server mappings or a conservative heuristic fallback, calls core, and enforces the
verdict. It proves the contract is implementable at the network-boundary side — the
third seam alongside source-side (reeflex-claude) and resource-side
(reeflex-wordpress). Conformance-tested per SPEC §7. See
docs/mcp-gateway.md.
Community adapters¶
Any adapter that passes the conformance suite can call itself Reeflex-compliant.
reeflex-postgres, reeflex-s3, and others are open-source community projects built
against the public spec. They carry their own licenses (Apache 2.0 recommended) and are
not part of the commercial tier.
Base policy packs¶
Rego rule sets that govern the Action Envelope out of the box. Policies reason over the
three universal axes (reversibility, blast_radius, externality) and cumulative
session state (SPEC §4, §4.1). They are starting points; operators are expected to extend
them for their context.
Mock adapter + demo¶
A minimal adapter implementation used for testing, demonstrations, and contributor onboarding. Synthetic data only — no real PII or client data in any example.
Commercial / closed tier — what it contains and why it is separate¶
The closed tier is never published to any public repository. Contributors will not find it here. If you believe you are looking at closed-tier material in a public Reeflex repository, that is a bug — report it.
Attest — audit-ready control evidence¶
Structured mappings between the Reeflex decision vocabulary and the specific obligations of NIS2 Article 21(2) — the current lead: transposed across the EU and already the subject of active audits, where documentation gaps are a common finding a decision register directly addresses — plus DORA, SOC 2, and the EU AI Act (Articles 12/14, whose high-risk obligations do not apply until 2 December 2027, per the Digital Omnibus). Pre-built reporting templates and evidence packages for teams that must prove control to an auditor. This is the commercial value-add; it is not part of the open-source governance engine.
Fleet — multi-site management¶
[ROADMAP — not built, not available today.]
A management surface for policy authoring, approval workflow, and audit review across many sites is planned as part of the commercial tier (Fleet). It is not available and is not part of the open-source repositories.
Cloud — hosted Reeflex¶
[ROADMAP — not built, not available today.]
When the hosted variant of Reeflex (Cloud) is built (see ADR-0001 §3, Variant B), it will require multi-tenancy isolation, authentication, and subscription billing. These components are part of the closed commercial tier. The open-source engine and adapters are identical in the hosted and on-prem variants; only the operational wrapper is closed.
No hosted engine is operated today. Do not present hosted availability as a current capability.
The boundary is absolute¶
The open-core boundary is absolute: open repositories are Apache 2.0 and public; the commercial/closed tier never enters any public repository. This is stated as an absolute project limit in ADR-0001 §2 and is repeated throughout the project documentation — it is not merely a preference.
Concretely this means:
- No compliance-mapping code, schema, or configuration in
reeflex-core,reeflex-spec,reeflex-wordpress, or any open community repository. - No Attest, Fleet, or Cloud (compliance-evidence, multi-site-management, or hosted-operations) code or configuration in any open repository.
- No multi-tenancy, authentication, or billing code in any open repository.
- No secrets, API keys, or credentials anywhere in any repository (open or closed) — secrets are referenced by name via Vault or environment variables only.
If you are contributing to the open-source layer and are unsure whether something belongs in an open repository, the default is: it does not. Ask before adding it.
Deployment model and this boundary¶
The deployment model is recorded in ADR-0001. In summary:
- On-prem (available now): the client runs
reeflex-corethemselves. All open-source components, zero commercial dependency. - Hosted / subscription (ROADMAP): a thin adapter calls a Reeflex-operated engine over HTTPS. The engine is identical open-source code; the operational wrapper (multi-tenancy, auth, billing) is the closed commercial tier. This variant is not built and not available today.
The open-core boundary is the same in both variants. The engine code is open regardless of where it runs.
Frequently asked questions¶
Can I fork reeflex-core and run it commercially?
Yes. Apache 2.0 permits commercial use. You are running the open-source engine; you are
not accessing the closed commercial tier.
Can I build a managed/hosted Reeflex service myself? Yes, using the open-source components. The "hosted" tier in the table above refers to Reeflex's own operated service, which is roadmap. You may build your own using the open-source engine.
Can I contribute a compliance-mapping policy pack under Apache 2.0? Contributions that map the Reeflex Rego vocabulary to regulatory frameworks (as open, generic policy packs) are welcome in the open tier. The closed tier refers specifically to Reeflex's commercial, opinionated, supported compliance product — not to open community policy authoring.
Where is the line between a base policy pack (open) and the compliance product (closed)? A base policy pack is a generic Rego rule set that any operator can read, modify, and extend. The commercial compliance product adds structured evidence mapping, reporting templates, and supported maintenance against specific regulatory texts. The Rego rules themselves are open; the commercial reporting layer is closed.
Reeflex — a seatbelt for the AI acting on your systems.