REPRAM
REplicated EPhemeral RAM, a Distributed Ephemeral Storage System
A distributed, ephemeral key-value storage network designed for applications requiring high-performance, privacy-preserving data storage with self-expiring capabilities. Client-side AES-256-GCM encryption ensures a zero-trust security model where network nodes cannot access stored data.
Quick start
git clone https://github.com/TickTockBent/REPRAM.git
cd REPRAM && make build
./bin/node- License
- MIT / Commercial
- Language
- Go
- Requirements
- Go 1.21+
Performance characteristics
1000+ req/sec
Throughput
per node
Sub-ms
Latency
in-memory operations
100 req/sec
Rate Limit
per IP (configurable)
10 MB
Max Request
configurable
Key Features
Privacy-first distributed storage built for production security and performance.
Client-Side Encryption
AES-256-GCM encryption occurs on user devices before transmission. Nodes store only encrypted data without access to content.
RAM-Only Storage
Data operates exclusively in RAM with no disk persistence, eliminating forensic data recovery possibilities.
Automatic Expiration
Implements TTL (time-to-live) settings with automatic cleanup of expired data.
Gossip Protocol
Peer-to-peer replication using a gRPC-based gossip protocol for distributed data redundancy.
Configurable Quorum
Balance availability and consistency with configurable quorum settings across your node cluster.
Zero-Trust Model
Network nodes cannot interpret or read user data. End-to-end encryption throughout the system.
REST API
Simple HTTP endpoints for storing and retrieving ephemeral data.
| Method | Endpoint | Description |
|---|---|---|
/data/{key} | Store binary data with TTL | |
/data/{key} | Retrieve stored data | |
/health | Health status check | |
/status | Detailed node metrics | |
/metrics | Prometheus-compatible metrics | |
/raw/put | Store unencrypted strings (open source mode) | |
/raw/get/{key} | Retrieve strings (open source mode) |
System Architecture
REPRAM comprises three main components working together to provide secure, distributed ephemeral storage.
Open Source Node
MIT-licensed Go server with a REST API and in-memory storage. Handles data persistence, replication, and cluster coordination.
Proprietary SDK
Commercial Go library handling client-side encryption and node communication. Provides simple APIs for secure data operations.
Gossip Protocol
gRPC-based replication with bootstrap and quorum mechanisms. Nodes self-organize into hierarchical networks for optimal data distribution.
# Build options
make build # Main encrypted node
make build-raw # Open-source unencrypted variant
make build-cluster # Distributed cluster version
# Docker deployment (3-node cluster)
docker-compose up -d
# Nodes available at:
# - localhost:8080
# - localhost:8081
# - localhost:8082
# Store data with TTL (60 seconds)
curl -X PUT http://localhost:8080/data/mykey \
-H "Content-Type: application/octet-stream" \
-H "X-TTL: 60" \
-d "my secret data"
# Retrieve data
curl http://localhost:8080/data/mykeyLive Demonstrations
Two applications built on REPRAM that show the storage layer working end to end.
FADE
Ephemeral chat application demonstrating real-time encrypted messaging with automatic message expiration.
Available on repram.io
Synth-Tree
Network visualization tool showing the distributed node topology and data replication in real time.
Available on repram.io
Ready to Get Started?
Deploy your own REPRAM cluster, or read through the documentation to learn more about building privacy-preserving applications on top of it.