Fortress
π‘οΈ Fortress - Turnkey Simplicity + HashiCorp Vault Security
π¦ Current Status: Alpha - Not Production Ready
Target v1.0 release: Q3 2026
β οΈ Not recommended for production workloads
- APIs may change without notice
- Data migration tools are experimental
- Security features are under audit
- Limited testing in production environments
A highly customizable, secure database system with multi-layer encryption that combines the simplicity of modern databases with enterprise-grade security.
π Quick Start
Installation
Binary Packages (Recommended)
NPM (Node.js)
# Install globally
# Install as dependency
PyPI (Python)
# Install from PyPI
# Install with development features
Cargo (Rust)
# Add fortress-core as dependency
# Install from crates.io (when published)
# Install from git repository
Go
# Add fortress-go as dependency
# Install from git repository
Standalone Binaries
# Download from GitHub Releases
|
Build from Source
# Clone the repository
# Build the project
# Run tests
# Install CLI tool
Docker Installation
# Pull the latest image
# Run with default settings
# Run with custom configuration
Basic Usage
# Create a new database
# Start the server
# Check status
API Quick Start
=
# Create database
=
# Create table with encrypted fields
=
# Insert data (automatically encrypted)
=
β¨ Features
π Security First
- Automatic Encryption: All data encrypted before storage, decrypted after retrieval
- Multiple Algorithms: AEGIS-256, ChaCha20-Poly1305, AES-256-GCM, and more
- Field-Level Encryption: Encrypt specific fields with different algorithms
- Key Management: Automatic key generation, rotation, and secure storage
- Zero-Downtime Rotation: Rotate encryption keys without service interruption
ποΈ Enterprise Architecture
- Multi-Tenant Support: Isolated data per tenant/organization
- Cluster Support: High availability with Raft consensus
- Audit Logging: Comprehensive security event logging
- Compliance Framework: GDPR, HIPAA, PCI-DSS compliance features
- HSM Integration: Hardware Security Module support
β‘ High Performance
- Optimized Algorithms: AEGIS-256 for maximum speed
- Caching Layer: Intelligent key and data caching
- Connection Pooling: Efficient database connections
- Compression: Built-in data compression
- Performance Monitoring: Real-time metrics and profiling
π§ Developer Friendly
- REST API: Standard HTTP methods with JSON payloads
- Multiple SDKs: Python, JavaScript, Rust, Go, and more
- WebSocket API: Real-time updates and streaming
- GraphQL Support: Complex queries with GraphQL
- Plugin System: Extensible functionality
π³ Modern Deployment
- Docker Support: Container-ready with official images
- Kubernetes: Production-ready K8s manifests
- Helm Charts: Easy deployment and management
- Cloud Integration: AWS, Azure, Google Cloud support
π Documentation
Installation & Setup
- π Binary Installation Guide - Complete installation instructions for all platforms
- οΏ½οΈ CLI Documentation - Command-line interface guide
- ποΈ Architecture Guide - System architecture and design
Core Documentation
- οΏ½ API Documentation - Complete REST API reference
- π‘ Usage Examples - Comprehensive examples and tutorials
Quick Guides
- π API Quick Start - Get started with the REST API
- π API Usage Examples - Practical API examples
- βοΈ Cloud Deployment Guide - Deploy to cloud providers
Advanced Topics
- π Security Best Practices - Security recommendations
- π Performance Tuning - Optimization guide
- π§ Plugin Development - Create custom plugins
- π’ Multi-Tenant Setup - Tenant management
ποΈ Architecture
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Fortress Architecture β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Client Layer β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β REST API β β WebSocket β β GraphQL β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Security Layer β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β Auth/Z β β Rate Limit β β Audit β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Encryption Layer β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β Field Level β β Key Manager β β Rotation β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Storage Layer β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β Memory β β Disk β β Cloud β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π§ Installation
Prerequisites
- Rust 1.70 or higher
- OpenSSL development libraries (for some encryption algorithms)
Build from Source
# Clone the repository
# Build the project
# Run tests
# Install CLI tool
Docker Installation
# Pull the latest image
# Run with default settings
# Run with custom configuration
Kubernetes Installation
# Option 1: Install using local Helm chart (Recommended)
# Option 2: Install using Kubernetes manifests directly
# Upgrade Fortress
π§ Troubleshooting
If you encounter issues with the Helm installation:
Common Issues
1. Namespace already exists
2. PVC binding issues
# Check PVC status
# Check available storage classes
# Update storage class in values.yaml
3. Pod not starting
# Check pod status
# Describe pod for errors
# Check pod logs
4. Service connectivity
# Test service endpoints
# Port-forward to test locally
Getting Help
- Documentation: K8S Deployment Guide
- Issues: GitHub Issues
- Community: GitHub Discussions
π Getting Started
1. Create Your First Database
# Interactive database creation
# Or with specific settings
2. Start the Server
# Start with default settings
# Start on specific port and host
# Start with custom data directory
3. Verify Installation
# Check server health
# Check metrics
# View database status
4. Use the API
# Create database via API
# Create table with encrypted fields
π Performance
Fortress is optimized for high-performance encryption operations:
| Algorithm | Throughput (MB/s) | Latency (ms) | Security Level |
|---|---|---|---|
| AEGIS-256 | 1500+ | 0.5 | Very High |
| ChaCha20-Poly1305 | 1200+ | 0.7 | High |
| AES-256-GCM | 1000+ | 0.8 | High |
Benchmarks
# Run encryption benchmarks
# Run performance tests
# View detailed metrics
π Encryption Algorithms
Algorithm Selection Guide
| Use Case | Recommended Algorithm | Why | Performance |
|---|---|---|---|
| General Purpose | AEGIS-256 | Fastest, post-quantum secure, hardware-accelerated | 1500+ MB/s |
| Mobile Applications | ChaCha20-Poly1305 | Battery efficient, no hardware acceleration needed | 1200+ MB/s |
| Enterprise/Compliance | AES-256-GCM | Industry standard, FIPS 140-2 certified, hardware acceleration | 1000+ MB/s |
| Maximum Security | XChaCha20-Poly1305 | Extended nonce protection, future-proof | 1100+ MB/s |
Algorithm Details
AEGIS-256 (Recommended)
- Security Level: Very High (Post-quantum resistant)
- Performance: 1500+ MB/s (fastest)
- Use Cases: General purpose, high-performance applications
- Compliance: Suitable for most compliance frameworks
- Hardware: Optimized for modern CPUs
ChaCha20-Poly1305
- Security Level: High
- Performance: 1200+ MB/s
- Use Cases: Mobile apps, battery-powered devices
- Compliance: Widely accepted
- Hardware: Software-based, no special requirements
AES-256-GCM
- Security Level: High
- Performance: 1000+ MB/s (with hardware acceleration)
- Use Cases: Enterprise, compliance-driven applications
- Compliance: Industry standard, FIPS 140-2 certified
- Hardware: AES-NI acceleration recommended
XChaCha20-Poly1305
- Security Level: Very High
- Performance: 1100+ MB/s
- Use Cases: Maximum security requirements, long-term data storage
- Compliance: Acceptable under most frameworks
- Hardware: Software-based, extended nonce protection
Performance Context
All benchmarks are performed on:
- Hardware: AWS c6i.large (Intel Xeon) with NVMe storage
- Data: 1GB random data blocks
- Concurrency: 4 parallel threads
- Metrics: Throughput (MB/s) and latency (ms)
Real-world performance may vary based on:
- CPU architecture and capabilities
- Data size and access patterns
- Network latency (for client-server operations)
- Storage performance (SSD vs HDD)
Decision Framework
Choose AEGIS-256 if:
- β You need maximum performance
- β Future-proof security is important
- β Modern hardware is available
- β General-purpose encryption needs
Choose ChaCha20-Poly1305 if:
- β Deploying to mobile devices
- β Battery life is a concern
- β No hardware acceleration available
- β Cross-platform compatibility needed
Choose AES-256-GCM if:
- β Enterprise compliance required
- β FIPS certification needed
- β Hardware acceleration available
- β Industry standards preferred
Choose XChaCha20-Poly1305 if:
- β Maximum security is required
- β Long-term data storage
- β High-value sensitive data
- β Future-proofing critical
Migration Between Algorithms
# Check current algorithm
# Change algorithm (requires key rotation)
Security Recommendations
- Use AEGIS-256 for new applications (best performance/security balance)
- Prefer AES-256-GCM for regulated industries (compliance-friendly)
- Rotate algorithms when security requirements change
- Test performance with your specific hardware and data patterns
- Monitor performance after algorithm changes
π Security Features
Encryption Algorithms
- AEGIS-256: Ultra-fast, post-quantum secure (recommended)
- ChaCha20-Poly1305: Fast, mobile-friendly
- AES-256-GCM: Industry standard, hardware acceleration
- XChaCha20-Poly1305: Extended nonce, high security
Key Management
- Automatic Rotation: Schedule key rotation at custom intervals
- Zero-Downtime: Rotate keys without service interruption
- HSM Support: Integration with hardware security modules
- Key Escrow: Secure key recovery mechanisms
Compliance
- GDPR: Data subject rights, consent management
- HIPAA: Healthcare data protection
- PCI-DSS: Payment card industry standards
- SOC 2: Service organization controls
π’ Multi-Tenancy
Fortress provides built-in multi-tenant support with complete data isolation:
# Create tenant
# List tenants
# View tenant usage
Tenant Isolation
- Data Isolation: Complete separation of tenant data
- Resource Limits: Per-tenant resource quotas
- Custom Encryption: Tenant-specific encryption settings
- Audit Separation: Isolated audit logs per tenant
π Plugin System
Extend Fortress functionality with plugins:
# Install plugin
# List plugins
# Enable plugin
Available Plugins
- Enhanced Audit: Advanced audit logging and analysis
- Data Masking: Automatic data masking for development
- Backup Integration: Cloud backup solutions
- Monitoring: Advanced monitoring and alerting
π Monitoring & Observability
Built-in Metrics
# View system metrics
# View performance metrics
# Prometheus metrics
Health Checks
# Basic health check
# Detailed health status
Monitoring Integration
- Prometheus: Native metrics export
- Grafana: Pre-built dashboards
- OpenTelemetry: Distributed tracing
- Custom Metrics: Application-specific metrics
π³ Docker & Kubernetes
Docker Compose
version: '3.8'
services:
fortress:
image: fortressdb/fortress:latest
ports:
- "8080:8080"
volumes:
- fortress_data:/var/lib/fortress
environment:
- FORTRESS_LOG_LEVEL=info
- FORTRESS_ENCRYPTION_DEFAULT_ALGORITHM=aegis256
volumes:
fortress_data:
Kubernetes
apiVersion: apps/v1
kind: Deployment
metadata:
name: fortress
spec:
replicas: 3
selector:
matchLabels:
app: fortress
template:
metadata:
labels:
app: fortress
spec:
containers:
- name: fortress
image: fortressdb/fortress:latest
ports:
- containerPort: 8080
resources:
requests:
memory: "512Mi"
cpu: "250m"
limits:
memory: "1Gi"
cpu: "500m"
π Cloud Integration
AWS Integration
# Enable AWS features
# Configure S3 storage
Azure Integration
# Enable Azure features
# Configure Azure Blob storage
π§ͺ Development
Running Tests
# Run all tests
# Run integration tests
# Run benchmarks
# Run with specific features
Development Setup
# Install development dependencies
# Run with auto-reload
# Generate flamegraph
# Run clippy
# Format code
Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
π Examples
Basic Rust Usage
use *;
async
Field-Level Encryption
use *;
async
WebSocket Client
const ws = ;
// Authenticate
ws.;
// Subscribe to events
ws.;
// Handle events
ws ;
π€ Community
- π Documentation
- π Issue Tracker
- π¬ Discussions
- π§ Email Support
- π¦ Twitter
- π¬ Discord
π License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
π Acknowledgments
- HashiCorp Vault - Inspiration for security-first design
- AEGIS - High-performance encryption algorithm
- Raft - Consensus algorithm for clustering
- Rust Community - Excellent ecosystem and tools
πΊοΈ Roadmap
Version 0.2.0 (Q1 2026)
- GraphQL API completion
- Advanced plugin marketplace
- Machine learning integration
- Mobile SDKs (iOS/Android)
Version 0.3.0 (Q2 2026)
- Distributed SQL queries
- Advanced analytics engine
- WebAssembly plugin support
- Edge computing support
Version 1.0.0 (Q3 2026)
- Production-ready stability
- Full compliance certification
- Enterprise features
- Managed cloud service
Fortress - Where security meets simplicity. π‘οΈβ¨