Skip to content

Commit 125cc82

Browse files
author
teycir
committed
feat: introduce v0.5.0 with new features and critical fixes
This release brings a comprehensive set of enhancements and security improvements for version 0.5.0. **New Features:** - Implemented cryptographic receipts with HMAC-SHA256 signatures and a verification API. - Added seal statistics (access count), custom unlock messages, and configurable auto-expiration. - Introduced blob hash preview (SHA-256) before unlock for content verification. - Enhanced security with DB-backed rate limiting and nonce storage for replay protection. - Incorporated browser fingerprinting for robust rate limit bypass prevention. - Mitigated timing attacks with random response jitter. - Added UTF-8 validation on decrypted content. **Critical Fixes:** - Resolved a critical pulse interval bug that applied a 1000x multiplier. - Addressed serverless state vulnerabilities by moving state to D1 database. - Fixed rate limit bypasses and replay attacks across worker instances. **Database Changes:** - Added columns for `blob_hash`, `unlock_message`, `expires_at`, and `access_count`. - Introduced `rate_limits` and `nonces` tables for persistent security features.
1 parent ca89709 commit 125cc82

2 files changed

Lines changed: 49 additions & 0 deletions

File tree

README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,18 @@ See [LICENSE](LICENSE) for full terms.
276276

277277
## 🔮 Roadmap
278278

279+
**Recently Implemented (v0.5.0):**
280+
- ✅ Cryptographic Receipts - HMAC-signed proof of seal creation
281+
- ✅ Receipt Verification - API endpoint to verify signatures
282+
- ✅ Seal Statistics - Access count tracking
283+
- ✅ Custom Unlock Messages - Personalized messages on unlock
284+
- ✅ Auto-Expiration - Configurable seal deletion after unlock
285+
- ✅ Blob Hash Preview - SHA-256 hash visible before unlock
286+
- ✅ DB-Backed Security - Rate limits and nonces in D1
287+
- ✅ Browser Fingerprinting - Enhanced rate limit bypass prevention
288+
- ✅ Timing Attack Mitigation - Random response jitter
289+
- ✅ Pulse Interval Fix - Critical 1000x multiplier bug fixed
290+
279291
**Recently Implemented:**
280292
- ✅ Audit Logging - Immutable access trail
281293
- ✅ Code Deduplication - Cleaner API routes

docs/CHANGELOG.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,43 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.5.0] - 2025-12-22
11+
12+
### Added
13+
- Cryptographic receipts with HMAC-SHA256 signatures
14+
- Receipt download functionality (JSON format)
15+
- Receipt verification API endpoint
16+
- Seal statistics (access count tracking)
17+
- Custom unlock messages (shown after unlock)
18+
- Auto-expiration (configurable days after unlock)
19+
- Blob hash preview (SHA-256, visible before unlock)
20+
- DB-backed rate limiting (persistent across workers)
21+
- DB-backed nonce storage (replay protection)
22+
- Browser fingerprinting for rate limits (IP + UA + Lang)
23+
- Timing attack mitigation (random jitter 0-100ms)
24+
- UTF-8 validation on decrypted content
25+
26+
### Fixed
27+
- CRITICAL: Pulse interval bug (1000x multiplier removed)
28+
- Serverless state vulnerabilities (moved to D1 database)
29+
- Rate limit bypass via IP rotation (fingerprinting added)
30+
- Replay attacks across worker instances (DB nonces)
31+
32+
### Security
33+
- Rate limits now persist in D1 database
34+
- Nonces stored in D1 for distributed replay protection
35+
- Timing attacks prevented with response jitter
36+
- Decryption integrity validation added
37+
- Cryptographic receipts for tamper detection
38+
39+
### Database
40+
- Added `blob_hash` column for content verification
41+
- Added `unlock_message` column for custom messages
42+
- Added `expires_at` column for auto-expiration
43+
- Added `access_count` column for statistics
44+
- Added `rate_limits` table for persistent rate limiting
45+
- Added `nonces` table for replay protection
46+
1047
## [0.4.0] - 2025-12-22
1148

1249
### Added

0 commit comments

Comments
 (0)