OpenTSR is a GitHub-native, docs-as-code standard and reference implementation for high-assurance AI telemetry. It defines a strict JSON schema plus semantics and profiles so teams can emit, validate, and govern evidence envelopes consistently across autonomous systems.
Status: Draft v1.0.0-draft
Deployment Model: Vendor-neutral and portable across cloud providers or local infrastructure.
- Docs site (GitHub Pages): https://kevinobytes.github.io/OpenTSR/
- Spec source:
spec/schema.json,spec/SEMANTICS.md,spec/PROFILES.md,spec/vocabulary.md - Adapter Hub:
adapters/,docs/adapter-hub.md - Governance and RFC process:
docs/governance.md
- The Law
spec/schema.jsonspec/SEMANTICS.mdspec/PROFILES.md
- The Translators
- Python SDK (
sdk/python) using Pydantic - TypeScript SDK (
sdk/typescript) using Zod
- Python SDK (
- The Hub
- Community-contributed adapter manifests and examples under
adapters/ - Mapping guides in
spec/MAPPINGS_OCSF.mdandspec/MAPPINGS_OTEL.md
- Community-contributed adapter manifests and examples under
- Testing
pytest --compliance-checkfor self-certification against protocol requirements
python -m venv .venv
source .venv/bin/activate
python -m pip install -e sdk/python pytest
python examples/verify_core.py
pytest --compliance-checkpython - <<'PY'
from opentsr import ActionIntent, Origin, Safety, TSRSignal
signal = TSRSignal(
env="dev",
origin=Origin(kind="llm_agent", source_id="agent-core", namespace="demo"),
agent_id="agent://agent-core",
action_intent=ActionIntent(action="evaluate", target="task://42"),
payload={"event": "verification"},
safety=Safety(veracity_score=0.7, hazard_flag=False),
)
signal.sign(key=b"replace-with-real-secret")
print(signal.verify_signature(key=b"replace-with-real-secret"))
PY- Emit events that conform to
spec/schema.json. - Validate before publish (CI and runtime).
- Select an operating profile from
spec/PROFILES.md. - Use
pytest --compliance-checkin CI before merges. - Record schema and semantics changes in
CHANGELOG.md.
OpenTSR treats proprietary vendor output as input to adapter translators, not as a protocol endpoint.
- Community and vendors contribute adapter manifests and examples under
adapters/. - Lightweight SDK bridges (Pydantic/Zod/etc.) map device-specific payloads to OpenTSR JSON-LD.
- The protocol remains stable while adapters evolve independently.
OpenTSR uses a Discussions-first RFC model. Start with a Discussion for normative changes, then implement via pull request once a maintainer marks the RFC accepted.
- Governance guide:
docs/governance.md - RFC template:
docs/RFC_TEMPLATE.md
- OpenTSR is not a replacement for full domain taxonomies like OCSF.
- OpenTSR is not a SIEM or observability backend.
- OpenTSR does not mandate a single cloud deployment topology.
Licensed under Apache-2.0. See LICENSE.