S3-compatible object storage that deploys anywhere. Single binary, air-gap ready, with a built-in web console. No dependencies, no complexity.
Production-ready features designed for mission-critical deployments
AES-256-GCM encryption at rest with automatic key management. Your data is secure by default.
27 fully implemented S3 endpoints. Drop-in replacement for AWS S3 with existing tools and SDKs.
Leptos-based WASM UI with no Node.js dependency. Manage buckets, upload files, and monitor storage.
Full versioning support with delete markers. Track changes and recover previous versions instantly.
Automated data management with expiration rules, transitions, and noncurrent version cleanup.
Production-ready observability with request latencies, storage metrics, and health endpoints.
Full TLS 1.2/1.3 support with mutual TLS for client certificate authentication. HSTS enabled.
Single binary with zero internet dependencies. Perfect for isolated, high-security environments.
Production-grade metadata storage with connection pooling. SQLite for development.
Hafiz implements the complete S3 API specification. Use your existing AWS SDKs, CLI tools, and applications without any code changes.
# Configure Hafiz endpoint aws configure set default.s3.endpoint_url \ http://localhost:9000 # Create a bucket aws s3 mb s3://my-bucket # Upload a file aws s3 cp ./data.json s3://my-bucket/ # List objects aws s3 ls s3://my-bucket/ 2024-01-15 10:30:00 1024 data.json # Enable versioning aws s3api put-bucket-versioning \ --bucket my-bucket \ --versioning-configuration Status=Enabled
Clean separation of concerns with independent, testable components
See how Hafiz stacks up against other object storage solutions
| Feature | Hafiz | MinIO | Ceph RGW |
|---|---|---|---|
| Language | Rust | Go | C++ |
| Single Binary | ✓ | ✓ | ✗ |
| Air-Gap Ready | ✓ | ✓ | ✗ |
| Web Console | ✓ WASM | ✓ React | ✓ |
| Memory Safety | ✓ Guaranteed | ✓ GC | ✗ |
| SSE Encryption | ✓ | ✓ | ✓ |
| Object Versioning | ✓ | ✓ | ✓ |
| Lifecycle Policies | ✓ | ✓ | ✓ |
| License | GPL-3.0 | AGPL-3.0 | LGPL |
Get started with Hafiz in just a few commands
# Clone the repository
git clone https://github.com/shellnoq/hafiz.git
cd hafiz
# Build with Cargo
cargo build --release
# Run Hafiz server
./target/release/hafiz server \
--access-key admin \
--secret-key changeme123 \
--data-dir /var/lib/hafiz
# Set endpoint URL
aws configure set \
default.s3.endpoint_url \
http://localhost:9000
# Set credentials
aws configure set aws_access_key_id admin
aws configure set aws_secret_access_key changeme123
# Create your first bucket
aws s3 mb s3://my-first-bucket
# Upload a file
aws s3 cp myfile.txt s3://my-first-bucket/
# Access Web Console
# Open http://localhost:9000 in browser
Get LDAP/AD integration, multi-site replication, priority support, and SLA guarantees with Hafiz Enterprise.