Skip to content

Latest commit

 

History

History
108 lines (84 loc) · 6.99 KB

open-core-split.md

File metadata and controls

108 lines (84 loc) · 6.99 KB

Open-core split: Apache 2.0 vs. Enterprise (ELv2)

Agentmetry uses a two-repo open-core model. The public repository stays Apache 2.0 forever for the developer utility layer. Commercial add-ons ship as a separate proprietary package (agentmetry-enterprise) that hooks into the orchestrator via standard Python entry points.

This document is the Project Owner's licensing intent, not a contract. See COMMERCIAL.md and CLA.md.

Integration mechanic

Enterprise features are optional. The orchestrator loads extensions from the setuptools group agentmetry.extensions at startup (core/extensions.py). When the enterprise wheel is not installed, behavior is identical to OSS.

# agentmetry-enterprise/pyproject.toml
[project.entry-points."agentmetry.extensions"]
enterprise = "agentmetry_enterprise.register:register"

Apache 2.0 forever (public agentmetry)

Area What ships
Capture IDE hooks (Cursor, Claude Code, Codex, GitHub Copilot, Antigravity, Qwen, Kimi, Qoder, CodeBuddy), MCP audit proxy, Claude Code OpenTelemetry ingest (agentmetry otel), external ingest adapters
Schema Canonical event format v1.2.0 (SCHEMA_VERSION in agentmetry/core/audit/canonical.py), MITRE ATT&CK per-tool tagging, optional MITRE ATLAS labels
Detection core Sequence-rule executor, live detection engine, community rule pack
Native YAML rules agentmetry/policies/detection/manifest.yaml spec — thresholds, session count rules, hot-reload
DLP & tool policy Regex DLP manifest, tool allow/deny YAML, hook-boundary enforcement
Storage and evidence SQLite index, JSONL hash chain, Merkle inclusion proofs (prove), external anchors (anchor), evidence pack and compliance digest exports
Scanner agentmetry scan: instruction-shaped text in MCP tool descriptions, skills and rules files; typosquatted package names. The MCP proxy runs the same check on every tools/list
Fleet basics Managed policy (settings a developer cannot change), doctor --json, --user-profile-dir / --data-dir for a recorder run as a service, the heartbeat's uncovered and silent agents, an ingest-only token, per-source and per-session ingest rate limits
Forwarders File, webhook, Splunk HEC, Elastic ECS, Google SecOps UDM, Microsoft Sentinel (not yet run against a live workspace), CloudEvents as a webhook format. Loki is Grafana Alloy tailing the local file, not a native sink. API key or token auth over HTTPS
Sigma export SIEM pack for forwarding Agentmetry events to existing Sigma pipelines
Dashboard Local dashboard for one machine (Overview, detections, investigation)
CLI demo, doctor, benchmark, hooks, start, stop, status, scan, posture, mcp, mcp-proxy, otel, stats, detections, disposition, replay, export, verify, prove, anchor, trail, dashboard

Enterprise / ELv2 (private agentmetry-enterprise)

Status as of 2026-10-24, checked against the code in agentmetry-enterprise. "Built" means the code exists; none of it has run on a customer fleet yet. The same table, in buyer's words, is on agentmetry.ai/pilot.

Area What ships Status
Windows fleet install Silent .msi, the service running as a virtual account Built and tested in CI; not EV-signed, not yet on a customer tenant
Intune deployment Detection and Remediation script pairs for user and managed hooks Built, not yet run on a customer tenant
Splunk TA-agentmetry (search-time fields, CIM aliases, saved searches) and an app with a fleet dashboard Built, not on Splunkbase, not AppInspected
Per-host signing Ed25519 signatures on forwarded events, verified against each host's registered key Built, not yet run on a customer fleet
Scoped auth ingest / read / admin tokens Built. (Per-source ingest rate limits and an ingest-only token now ship in the open-source sensor)
Hosted fleet console Per-host tokens, tenant-scoped ingest, fleet, triage and coverage views Built and run locally, not deployed
Enterprise support Implementation support, Splunk onboarding, the maintainer's time Offered in the design-partner pilot
macOS and other installers .pkg, brew tap, single binary for macOS Planned (agentmetry-enterprise#33)
Sigma dialect import Parser: standard Sigma YAML → Agentmetry rules (not native YAML) Planned, empty package
mTLS forwarders Client cert auth to customer Splunk/Elastic/Loki Planned
Compliance packs Evidence templates for SOC 2, ISO 27001, EU AI Act Planned, empty package
Premium sinks Rekor/Trillian transparency log, optional TPM local signing Planned, empty package
Customer-owned rule distribution Pull rules from a repo or bucket the customer controls Planned, empty package
Advanced DLP Shannon entropy detectors, YARA payload scanning Planned
eBPF sidecar adapter Tetragon/tracee → canonical schema as optional Tier-D Planned, only if a design partner needs it

"Planned" items are built when a pilot needs them, not before.

Critical boundary: native YAML vs. Sigma import

Native Agentmetry YAML (detection manifest, DLP manifest, tool policy) stays open source. Analysts can ship detections in YAML without a commercial license.

Sigma dialect import (porting an existing library of Sigma rules) is enterprise. That is the "500 rules without Python PRs" unlock for SOC teams who already standardize on Sigma syntax.

Hosted Enterprise is allowed

Revised 2026-10-02. This section used to say neither repo would build a vendor cloud control plane or an Agentmetry-hosted SIEM. That is withdrawn for Enterprise:

  • Agentmetry Enterprise may run as a hosted service: a fleet console, managed ingest and cross-machine views, run multi-tenant for many customers or in one customer's own cloud. None of it is built yet.
  • Customers who keep their own SIEM as the console keep that option. The Splunk app (agentmetry_app, in the enterprise repo) ships either way.
  • The open-source sensor stays local-first. It records on the machine, forwards only where the operator points it, and never needs a hosted service to work. What it sends is structure, not content: arguments are hashed in the hook process and prompts never leave the machine, which is what a hosted Enterprise would receive too.

What we will not build (either repo)

  • A hosted dependency in the open-source sensor
  • Replacing IDE hooks with eBPF as the primary capture layer
  • Full Rust/Go rewrite before paid fleet demand (≥500 seats)

See enterprise-lane.md for honest beta limits and optional enterprise path.

Trademark

"Agentmetry Enterprise" is a commercial offering name. The OSS project remains "Agentmetry". See TRADEMARK.md.

Contact

Commercial inquiries: contact@agentmetry.ai