Repository navigation
Lockbox v0.1.0
Pre-release
Pre-release
Lockbox v0.1.0 Release Notes
Overview
Lockbox v0.1.0 is our first official release, providing a secure, high-performance columnar data storage system built on Apache Arrow. This release focuses on delivering core functionality with enterprise-grade security features.
Key Features
🔐 Security
- AES-256-GCM encryption for all data at rest
- Column-level encryption with individual keys
- PBKDF2 key derivation with 100,000 iterations
- Password-based authentication
- Secure metadata storage
🚀 Performance
- Zero-copy Arrow operations
- Column-level selective decryption
- Efficient memory usage
- Optimized file format
🛠️ Core Functionality
- Arrow IPC and Feather format support
- Comprehensive CLI interface
- Go SDK with functional options
- Schema management
- Basic audit logging
Technical Details
Dependencies
- Apache Arrow v18.3.0
- Zerolog v1.34.0
- Cobra v1.9.1
- Viper v1.20.1
- Go 1.24.3+
Supported Data Types
- Integers (int8, int16, int32, int64, uint8, uint16, uint32, uint64)
- Floating Point (float32, float64)
- Strings (utf8, binary)
- Boolean
- Temporal (date32, timestamp, time32ms, duration)
CLI Commands
Create
lockbox create [file] --password [password] [options]Create a new lockbox file with specified schema.
Write
lockbox write [file] --password [password] [options]Write data to an existing lockbox file.
Query
lockbox query [file] --password [password] [options]Query data from a lockbox file.
Info
lockbox info [file] --password [password] [options]Display information about a lockbox file.
File Format (.lbx)
The Lockbox file format consists of:
- Magic bytes and version header
- Metadata offset
- Encrypted data blocks (columnar)
- Metadata block (schema, encryption params, audit trail)
Security Model
Encryption
- Algorithm: AES-256-GCM
- Key Derivation: PBKDF2 (100,000 iterations)
- Column-Level Keys: Derived from master key
- Integrity: SHA-256 checksums
Key Management
Master Key = PBKDF2(Password, Salt, 100000 iterations)
Column Key = PBKDF2(Master Key + Column Name, Salt, 100000 iterations)
Performance Characteristics
- Encryption Overhead: ~15-20% compared to unencrypted Arrow
- Column Selectivity: Only decrypt requested columns
- Memory Efficiency: Zero-copy Arrow operations
- File Size: ~5-10% overhead for metadata and encryption
Installation
# Clone the repository
git clone https://github.com/TFMV/lockbox
cd lockbox
# Build the CLI
go build ./cmd/lockbox
# Run tests
go test ./pkg/lockbox -vKnown Limitations
- Complex Arrow types (lists, maps, etc.) are not yet supported
- No built-in compression
- Limited query capabilities in v0.1.0
- No concurrent access support
- No built-in backup/restore functionality