Archive your logs like obsidian — permanent, and provably untouched.

ObsidianLog encrypts, compresses, and hash-chains your logs before archiving them to Sia's decentralized storage network, so old logs cost next to nothing to keep, and you can prove nothing was quietly changed or deleted.

Every application and server you run produces logs constantly. Tools like Datadog and Elastic are great for watching them right now, but they charge by the gigabyte and by the month, so once logs aren't being actively watched anymore, most teams just delete them, even though audits, incident investigations, and compliance rules often call for keeping them much longer.

ObsidianLog gives your old logs a permanent, cheap home — encrypted before they ever leave your machine, so only you can read them, and cryptographically chained together, so you can prove later that nothing was quietly changed or deleted. Your day-to-day monitoring stays exactly as it is. ObsidianLog is just where logs go once you're done watching them in real time.

Why teams choose ObsidianLog

Encrypted before it leaves your machine

AES-256-GCM, with a key you generate and hold yourself. It's never sent to Sia, to a storage host, or to us.

Provably untouched

Every entry is SHA-256 hash-chained to the one before it. Run obsidianlog verify any time and know immediately if anything was altered.

Cheap enough to keep forever

A fraction of what equivalent storage costs on Datadog, Elastic, or AWS, so nothing has to get deleted just to control cost.

Works with what you already run

A Vector-compatible HTTP endpoint. Point your existing log shipper at it, no new agent, no code changes.

No new infrastructure to run

Hosted by default via sia.storage, so there's no server for you to babysit. Bring your own indexer if you want full control instead.

Open source, MIT-licensed

Inspect exactly what it does, self-host every part of it, or fork it. Nothing about your archive depends on us staying in business.

Who it's for

Built for technically capable developers and small teams comfortable with a CLI and a config file.

Solo developers & indie hackers

You probably aren't archiving logs anywhere today. This gives you real, tamper-evident archival for close to nothing.

Teams with audit or compliance needs

You need to prove logs weren't altered after the fact, not just store them somewhere. That's what the hash chain is for.

Sia ecosystem developers

You're already using Sia. ObsidianLog is a natural addition to your existing workflow.

Privacy-first & Web3-native teams

Owning your own data instead of trusting a vendor with it isn't just a preference, it's the whole point.

Open source maintainers

A cheap, durable place to keep CI logs, release history, and telemetry around for good, not just a few weeks.

How it works

One pipeline, four commands. Here's what happens to a log line, start to finish, and exactly what each command does.

Your app writes logs→ Vector ships them→ ObsidianLog encrypts & chains→ Archived on Sia→ Searchable anytime
obsidianlog init

Run this once. A short wizard generates your encryption key, asks where you want data stored (locally to try it out, or on Sia for the real thing), and saves your configuration. Nothing here requires you to understand Sia, blockchains, or wallets.

$ obsidianlog init # … a few short prompts … obsidianlog initialized. config: ~/.config/obsidianlog/config.toml credentials: the OS keychain
obsidianlog serve

Starts a small local server that listens for log batches from your existing log shipper (like Vector) and runs them through the pipeline automatically: parse, compress, encrypt, hash-chain, archive. Leave it running in the background.

$ obsidianlog serve # listening on http://127.0.0.1:7080/ingest
obsidianlog query

Looks up archived logs by time range, service name, log level, or keyword, decrypts only the matching entries, and prints them back to you. It never has to download your entire archive to answer a question.

$ obsidianlog query --service api --level error --from 24h 2026-07-06T10:00:00Z api error - connection timeout after 30s
obsidianlog verify

Walks the entire cryptographic hash chain, every chunk, in order, and confirms each one is exactly as it was when it was written. If even one byte anywhere was altered or deleted, this catches it and tells you exactly where.

$ obsidianlog verify OK api: 1,204 chunk(s) verified, chain intact

How this compares to traditional log storage

The difference isn't features, it's who's actually in control of your data.

 AWS Glacier / Datadog / ElasticObsidianLog
Who holds your dataThe vendor's servers, under their access policiesEncrypted on your machine first; only you hold the key
Cost at scaleBilled per GB per month, teams often delete logs early to control costA fraction of the cost, plus ~90–97% compression on log data
Tamper-evidenceYou take the vendor's word for itCryptographically provable, on demand, with obsidianlog verify
Lock-inProprietary storage and APIs, hard to migrate away fromOpen source (MIT). Your data, your keys, exportable anytime

Roadmap

ObsidianLog is planned as a three-phase project, exactly as proposed to the Sia Foundation.

Phase 1

MVP

The core pipeline, CLI, and Sia integration — shipped

Storage engine

Compression, encryption, hash-chaining

Ingest server

Vector-compatible HTTP endpoint

CLI tools

init, query, verify

Cross-platform builds

Linux, macOS, Windows + Docker

Sia integration

Hosted by default, or bring your own

Documentation

Full site with hands-on tutorials

Example integrations

Grafana and SIEM exports

Published

Live on crates.io

★ Shipped
Phase 2

Full Product

Search, integrations, and a web UI — next

Search

Full-text, fuzzy, anomaly detection

Grafana plugin

Plus Fluentd and Logstash

Batch import

From S3 and CloudWatch

Signed exports

Plus a retention policy engine

Web UI

Search, timeline, health dashboard

Phase 3

Commercial

Sustaining the project, without gating the core — later

Hosted gateway

Pay in USD, no Siacoin needed

Enterprise tier

SLA, SSO, compliance support

Dashboard

Usage, cost, storage health

SIEM forwarding

Splunk, IBM QRadar

Core stays open

MIT-licensed, always

Questions people actually ask

If something's still unclear after this, that's worth telling us.

Does ObsidianLog replace Datadog, Grafana, or my existing monitoring stack?

No, it sits alongside them. Datadog, Grafana, and ELK stay your "hot" tier for active, real-time monitoring. ObsidianLog is the "cold" tier: once logs aren't being actively watched anymore, they get archived somewhere cheap and permanent instead of deleted, and stay encrypted and verifiable so you can still trust and search them years later.

What is Sia, and do I need to understand it to use this?

Sia is a decentralized cloud storage network: instead of one company like AWS owning the servers, your data is spread redundantly across many independent storage providers, encrypted so none of them can read it. ObsidianLog handles the Sia-specific parts for you. By default, obsidianlog init connects to a hosted service (sia.storage) that manages the underlying storage contracts, so you don't need to understand Sia's internals to get started.

Is my data actually private, or can ObsidianLog read it?

Your logs are encrypted with AES-256-GCM on your own machine before anything is sent anywhere. The key is generated locally and stored in your OS keychain, it's never transmitted to Sia, to a storage host, or to us. Nobody but you can decrypt your archived logs, by design, not by policy.

How do I know my archived logs haven't been tampered with?

Every log chunk is SHA-256 hash-chained to the one before it, a lightweight, private version of the same idea behind a blockchain. Run obsidianlog verify any time, and it walks the entire chain and tells you immediately if a single byte anywhere has been altered, deleted, or reordered.

How much does this actually cost?

ObsidianLog itself is free and open source (MIT license). You only pay for the underlying Sia storage you use, which is typically a fraction of the equivalent cost on AWS, Datadog, or Elastic, especially after compression, which usually shrinks log data by 90 to 97 percent.

Do I need to know Rust, or how blockchains work?

No. You download a ready-to-run binary (or use the Docker image), run one setup command, and point your existing log shipper at it. There's no Rust toolchain to install, no smart contracts to write, and no crypto wallet to manage directly.

Can I self-host the whole thing instead of using the hosted default?

Yes. ObsidianLog can connect to any indexd deployment, including one you run yourself, if you want full control over every part of the stack instead of the hosted default.

Built in the open

Every decision, every bug, every fix is public. That's the point.

Contribute

Read the code, fix something, or add a feature. Every PR is reviewed in the open.

Community

Open-ended questions, ideas, or just want to see what others are building with it.

Feedback

Tried it? Good or bad, real feedback from real use is what makes this better.

—
GitHub stars
—
Release downloads
—
crates.io downloads
MIT
Free & open source, forever

Your logs deserve better than a 30-day retention window.

Set up takes under 15 minutes, and the local backend needs nothing but your machine to try.