encrypted s3-compatible storage · continuous proof

Encrypted, S3-compatible cloud storage with proof your data is still there.

Point rclone or pg_dump at Obsideo and go. Every object is encrypted before it leaves your machine, stored across a hybrid network, and challenged continuously, on roughly a 4 hour cycle, to prove it's retrievable.

Works with your existing tools
$ rclone copy ./backups obsideo:backups

endpoint: s3.obsideo.io · rclone path verified end-to-end 2026-07-09

proof-of-retrievability · merkle proofs network data · sampled 2026-07-18
verification cycle sampled 2026-07-18 · 16:00 UTC chunk-level merkle proofs passed 49,490 passed that day · 5 cycles 181,769 replication target 3 per object every object challenged with merkle proofs, continuously proofs do fail; the rate varies by node providers earn only for proofs they pass
the network proves your data is retrievable, continuously
7 nodes
active storage providers · 3 failure domains · 2026-07-24
181,769
proofs passed · 2026-07-18, five cycles
target replication factor, network-wide
05/2026
customer workloads in production since
production customers
incl. live blockchain-infrastructure backup workloads

01 · the network

Datacenter speed. Distributed survivability. One network.

Most storage makes you choose: centralized cloud (fast, but one company, one failure domain, and they can read your data) or decentralized networks (resilient, but slow and awkward to use). Obsideo runs both tiers in one system: enterprise hardware in a datacenter serves hot reads and writes at cloud speed, while distinct storage provider nodes on distributed connections hold redundant replicas. You get one S3-compatible endpoint; the network handles placement.

hot tier

Datacenter-grade hardware for fast uploads and restores.

distributed tier

Distinct provider nodes. Placement prefers separate failure domains, though operator and facility independence is not guaranteed.

one bill

Priced on logical size; replication is our cost, never a line on your bill.

Each upload is encrypted client-side and replicated to 3 of N distinct providers. Different files land on different provider sets, reducing correlated failure risk.

Native S3-compatible gateway on an independent storage network, not a reseller shim over AWS.

02 · trust

Encrypt first, and there is nothing here to read.

Encryption (AES-256-GCM) happens client-side in the SDK. On the S3-gateway path you bring your own encryption: the gateway is a passthrough that stores your bytes exactly as sent and never holds your keys, so when you encrypt first there is nothing there to read. The coordinator is never on the byte path either way. The provider node is fully open source; the SDK ships with its test suite on npm.

Every stored object is challenged with chunk-level merkle proofs on a continuous cycle, targeting roughly every 4 hours. Proofs do fail, and the pass rate varies by node, which is why replication is 3x and providers are paid per passed proof. Retrievability is re-checked continuously, and providers only earn on proofs they pass. Proof records are issued by our coordinator today; provider-signed, customer-verifiable proofs are in development.

If you encrypt before upload and Obsideo is compelled to surrender your data, there is nothing to surrender. The keys were never on the platform. Upload plaintext and there is.
If you encrypt before upload and a provider's hardware is seized, they hold ciphertext that cannot be decrypted with keys they never had.
If the coordinator goes down, your recovery bundle (pre-fetched download authorizations plus a cached provider directory) lets the SDK evacuate your ciphertext straight from providers, for as long as those authorizations remain valid. Durable coordinator-independent recovery is in active development.

03 · pricing

$0.50 per TB-day · $15/TB/month · egress included.

Billed on logical size: store 1 TB across 3 replicas, pay for 1 TB.

04 · use cases

05 · for the readers

Read the architecture.

Building an integration? The TypeScript SDK handles encryption, chunking, merkle trees, and provider communication.

// npm install @obsideo/sdk import { ObsideoClient } from '@obsideo/sdk'; const client = new ObsideoClient({ coordinatorUrl: 'https://coordinator.obsideo.io', apiKey: process.env.OBSIDEO_API_KEY }); await client.putObject('my-bucket', 'backup.tar.zst', fileBuffer); const data = await client.getObject('my-bucket', 'backup.tar.zst');

get started

Start free: 12 GB, no card.

Self-serve signup from a terminal: email code in, S3 credentials out, first upload verified on 3 distinct providers. Paid tier $15 per TB-month when you outgrow it. AI agents integrate unassisted via agents.md.

Start free Chain-infra backups →