Open source

Decentralized Storage
You Can Verify

Encrypted at rest, cryptographically audited. Every file is split, encrypted, and distributed across independent storage nodes. The coordinator verifies each one.

Run a node Build with the SDK

Upload. Store. Verify.

Every file goes through the same pipeline. No exceptions.

1

Encrypt and chunk

The SDK encrypts your file with AES-256-GCM, splits it into 1 MiB chunks, and builds a merkle tree for integrity verification.

2

Distribute to providers

Chunks are uploaded to independent storage providers running on their own hardware. Each provider stores a unique replica.

3

Prove retrievability

The coordinator randomly challenges providers to return specific chunks with merkle proofs. Pass the audit, keep your score. Fail, and uploads stop coming.

Run a Storage Node

Contribute disk space to the network and earn score through uptime and audit performance. Docker is the recommended path. You'll be up in minutes.

  • Linux server or VM
  • Docker + Docker Compose
  • Tailscale account (free)
  • Some spare disk space
# Clone the provider repo
git clone https://github.com/Regan-Milne/obsideo-provider.git
cd obsideo-provider

# Configure and start
cp .env.example .env
# Edit .env with your Tailscale auth key
docker compose up -d

Full walkthrough in QUICKSTART.md. Source code, security model, and transparency docs are all in the repo.

View on GitHub

Build on Cloud Drive

The TypeScript SDK handles encryption, chunking, merkle trees, and provider communication. Upload and download files with a few lines of code.

// Install
npm install @obsideo/sdk

// Upload a file
import { ObsideoClient } from '@obsideo/sdk';

const client = new ObsideoClient({
  coordinatorUrl: 'https://coordinator.obsideo.io',
  apiKey: process.env.OBSIDEO_API_KEY
});

await client.upload('my-bucket', 'photo.jpg', fileBuffer);

// Download
const data = await client.download('my-bucket', 'photo.jpg');

// Check proof status
const proof = await client.getProofStatus('my-bucket', 'photo.jpg');

The coordinator exposes 40+ REST endpoints. The SDK wraps the common ones; for everything else, hit the API directly with any HTTP client.

Coordinator: coordinator.obsideo.io

What makes it different

Not a wrapper around S3. Not a blockchain gimmick. Storage infrastructure you can inspect and run yourself.

🔒

End-to-end encrypted

AES-256-GCM encryption happens on your machine. Providers store ciphertext. The coordinator never sees your data.

✔️

Proof-of-retrievability

The coordinator randomly audits providers with chunk challenges and merkle proofs. Not trust-based. Cryptographically verified.

📦

Open source provider

The provider is fully open source. Read the code, audit the network calls, build from source. Nothing hidden.

🖥️

Your hardware

Providers run on your own machines. Docker, native Linux, or cloud VMs. No special hardware required.

🌐

No vendor lock-in

Files are standard encrypted chunks with merkle trees. The protocol is documented. Your data is yours.

🛠️

TypeScript SDK

First-class TypeScript client. Handles encryption, chunking, upload, download, and proof verification out of the box.

Get involved

Run a storage node, build on the SDK, or just poke around the source. The network is live and growing.