KALYX
Execution Evidence Integrity Platform
Know when execution history can no longer be trusted.
KALYX captures execution events into an append-only hash-chained ledger, verifies historical integrity deterministically, records trusted checkpoint boundaries, and compares them against an external Raspberry Pi anchor.
Logs are easy to collect.
Harder to trust.
Traditional logs can look valid even after old entries are modified, reordered, truncated, or replaced. KALYX focuses on evidence continuity.
- Was this record appended after the previous one?
- Did a record change after it was written?
- Was a verified boundary removed or replaced?
- Is the current ledger trusted enough for detection?
- Does an independent anchor still agree with the host?
What KALYX does.
One evidence pipeline, exposed through thin interfaces and bounded by explicit trust decisions.
Execution ingestion
Accepts sample logs, raw execsnoop-style lines, structured API events, and live eBPF execsnoop output.
Processing pipeline
Validates, enriches, and normalizes accepted events through shared backend services.
Hash-chained ledger
Appends canonical JSONL records with sequence, previous hash, and record hash.
Deterministic verification
Recomputes the chain and reports the first boundary that can no longer be trusted.
Local checkpoints
Records previously verified ledger boundaries in a chained checkpoint history.
Trust-state enforcement
Blocks new ingestion when current ledger or checkpoint continuity is untrusted.
Rule-based detection
Runs deterministic, explainable rules after successful full-ledger hash-chain verification.
Alert persistence
Writes replay-safe alerts to JSONL using stable signatures to avoid duplicates.
FastAPI host backend
Exposes status, ingestion, verification, detection, alerts, ledger, and anchoring operations.
Angular operations console
Provides a local browser interface over the host FastAPI backend.
Raspberry Pi anchor
Stores checkpoint boundaries in a physically separable Pi-side hash chain.
Anchor comparison
Compares the latest local checkpoint with the latest reachable external anchor.
Thin interfaces. Shared integrity core.
CLI, FastAPI, and Angular expose the system. Integrity decisions live in shared host services. Raspberry Pi anchoring adds an external comparison boundary.
CLI, API, and Angular do not implement separate integrity engines.
Angular calls Host FastAPI; host-to-Pi traffic uses KALYX_ANCHOR_URL.
The Pi stores checkpoints rather than validating every execution event.
From event capture to independent comparison.
The trust gate happens before append. Detection branches from successful full-ledger hash-chain verification; it does not require checkpoint continuity.
Evidence continuity, not event truth.
KALYX can prove specific properties about records it accepted and the continuity of their stored history. Its guarantees stop before source authenticity and full-host trust.
What KALYX can verify
- A ledger record changed after append
- A previous-hash link was broken
- Ledger JSON is malformed
- The first untrusted record boundary
- A local checkpoint was edited
- Checkpoint history was reordered or broken
- The ledger fell behind a previous checkpoint
- Detection ran after full-ledger hash-chain verification
- A checkpoint was compared with an external anchor
What KALYX cannot verify
- Event source authenticity
- Kernel-level trust
- Resistance to full host compromise
- Malware prevention or process blocking
- Complete remote attestation
- Continuous anchor availability
- Truthfulness of process identity or metadata
- Independent Pi validation of every host event
“KALYX verifies records it accepted. KALYX does not prove the original event source was truthful.”This is the core product boundary—not a footnote.
Trust is explicit.
The ledger verifies and does not conflict with the latest local checkpoint.
Verification failed after one or more earlier records remained trusted.
Ledger or checkpoint continuity cannot be trusted operationally.
The ledger file exists but contains no execution records.
No ledger file exists yet for the current environment.
Important boundary: ingestion is blocked when current ledger or checkpoint state is untrusted. Detection is skipped when full-ledger hash-chain verification fails, but detection currently does not evaluate local checkpoint continuity. Full hash-chain verification itself does not require checkpoint trust.
Independent comparison boundary.
The host holds the ledger. A Raspberry Pi can hold checkpoint boundaries somewhere physically separate, giving local history an external state to compare against.
Why a Raspberry Pi?
It is low-cost, suited to always-on operation, and can run a small API outside the host without introducing distributed-system complexity.
- Can be physically separated from the monitored host
- Small, source-distributed FastAPI anchor service
- Independent storage for checkpoint comparison
- Demonstrates trust separation without claiming perfect authority
The Pi stores checkpoint metadata—not each execution event:
checkpoint_indexrecord_countlast_seqlast_hashcheckpoint_hashprevious_checkpoint_hashpi_anchor_hash
Submission states
Comparison states
A local console over Host FastAPI.
The dashboard presents backend state and operations. It does not decide trust in the browser, and it never calls the Raspberry Pi directly.
Overview
Trust state, ledger state, checkpoint state, recent records, and alerts.
Ledger
Search and inspect recent parsed records without treating display as verification.
Verification
Run deterministic verification, inspect trust metadata, and manage anchor comparison.
Ingestion
Submit structured events or raw execsnoop-style lines through the shared pipeline.
Detection
Run explainable rules after successful full-ledger hash-chain verification.
Alerts
Search and filter explainable, deduplicated alert records.
Evidence
Inspect raw backend JSON responses and verification metadata.
"checkpoint_state": "…" }
Two APIs. Two responsibilities.
Host FastAPI exposes product operations. The Pi API accepts and returns checkpoint boundaries.
Protection boundary
When configured, an API key protects host operational routes. It is lightweight local protection—not full authentication, sessions, RBAC, or event-source attestation. The current Pi API is unauthenticated.
Deterministic by design.
No ML. No threat-intelligence dependency. Rules remain inspectable, testable, and explainable.
Delete followed by create on the same target within a configured window.
Repeated modifications against the same known target over a short interval.
Multiple destructive actions by the same user or session in a short window.
Delete or modify activity launched by scripting parents outside interactive sessions.
Detection verifies the full ledger hash chain before replaying records. It does not currently consult local checkpoint continuity, so it must not be described as enforcing checkpoint trust.
Trust behavior is tested, not implied.
The repository focuses automated coverage on integrity, corruption, trust gates, anchoring, APIs, and typed Angular service/state behavior.
GitHub Actions
Pull requests and pushes to main validate:
Angular browser/Karma tests exist locally but are not currently run by CI.
Credibility starts with the boundary.
KALYX is intentionally narrow. It makes accepted evidence tamper-evident; it does not turn a local prototype into a complete security platform.
Simple enough to inspect.
The current architecture favors visible mechanics and deterministic behavior over operational scale.
JSONL ledger
Append-friendly, inspectable, and straightforward to verify one line at a time.
Canonical hashing
Stable serialization keeps deterministic verification reproducible.
Local checkpoints
Record verified boundaries before an external anchor is available.
Raspberry Pi anchor
Adds an independent comparison boundary without a large distributed system.
Rule-based detection
Produces explainable outputs with explicit, testable semantics.
Thin interfaces
CLI, API, and Angular reuse shared host services rather than duplicating trust logic.
No database yet
Keeps the early product inspectable until indexed storage is operationally necessary.
Technical Documentation
KALYX Learn provides the product overview. The documents below contain the detailed technical implementation.
Architecture
System architecture, integrity pipeline, trust boundaries and Raspberry Pi integration.
API Endpoints
Host API, Raspberry Pi API, request flow and available endpoints.
Threat Model
Security assumptions, trust boundaries, guarantees and limitations.
Detection Engine
Deterministic rule engine, verification gate and alert generation.
Configuration
Environment variables, runtime options and deployment configuration.
Testing Summary
Backend testing, Angular testing, CI pipeline and validation coverage.
The next trust boundaries.
These are planned directions, not current capabilities or production guarantees.
Authenticate the exchange
- Signed anchor receipts
- HMAC or signature support
- Host identity
Why: reduce forged or unauthenticated submissions and strengthen provenance and auditability—without implying legal admissibility by itself.
Move beyond full replay
- Incremental verification
- Checkpoint continuation
- Merkle-style segmentation
Why: the current full-chain replay is simple and deterministic but grows more expensive with the ledger.
Strengthen the boundary
- Authenticated Pi API
- Signed Pi responses
- Multiple anchors
- Cloud or appliance option
Why: improve confidence in external comparison and reduce dependence on one unauthenticated anchor.
Raise source confidence
- Authenticated ingestion
- Source identity
- Stronger collection pipeline
Why: hash chains preserve accepted evidence; provenance work would improve confidence in where that evidence originated.
Make evaluation repeatable
- Indexed storage
- Exportable evidence bundles
- Docker packaging
- Reproducible demos
Why: make KALYX easier to run, inspect, and evaluate beyond a source checkout.
Evaluate the model
- Tampering scenarios
- Evidence provenance model
- Remote attestation comparison
- Open-source research
Why: test the trust model against documented scenarios and turn design claims into evidence-backed findings.
Working product. Early stage.
KALYX is source-distributed and runs from a checkout. It is not yet packaged as a production service.
Working today
- Host FastAPI API
- CLI
- Angular operations console
- Local ledger and checkpoint services
- Raspberry Pi anchor service
Active product work
- Security hardening
- Deployment automation
- Scalable storage
- Signed anchoring
- Stronger event provenance
“KALYX is not trying to solve every security problem. It focuses on one narrow but critical question: can collected execution evidence still be trusted?”