Repository navigation
ShellGuard v0.0.2.3
π¦ ShellGuard β Release v0.0.2.3
"The Deep Ingestion & Vault Parity Molt" β Phase 21: Bulk Operations, Universal Bitwarden Ingestion, RFC 6238 TOTP, Dual Export Suite & Migration 0008 Note Attachments Parity
ClawStack Studios Β©β’ Β· 2026-09-22 Β· AGPL-3.0
The reef expands its reach into deeper currents. ShellGuard v0.0.2.3 (Build 25) delivers a battle-tested Multi-Select Batch Operations Suite, a Universal Bitwarden Ingestion Engine with interactive dry-run previews, client-side RFC 6238 TOTP generation, Password History auditing, Dual Export sovereignty (Encrypted JSON + Plaintext CSV/JSON), and Migration 0008 Note Attachments Parity unlocking 500MB encrypted attachments for Secure Notes alongside Pearls.
βββββββββββ ββββββββββββββ βββ βββββββ βββ βββ ββββββ βββββββ βββββββ
βββββββββββ ββββββββββββββ βββ βββββββ βββ βββ ββββββββ ββββββββ ββββββββ
ββββββββββββββββββββββ βββ βββ βββ ββββ βββ βββ ββββββββ ββββββββ βββ βββ
ββββββββββββββββββββββ βββ βββ βββ βββ βββ βββ ββββββββ ββββββββ βββ βββ
βββββββββββ βββββββββββββββββββββββββββ βββββββββββββββββ βββ βββ βββ βββ ββββββββ
βββββββββββ βββββββββββββββββββββββββββ βββββββ βββββββ βββ βββ βββ βββ βββββββ
~ **ClawStack StudiosΒ©β’** ~
π The Core Summary
Welcome to v0.0.2.3 (Build 25) of ShellGuard! This release marks a pivotal evolution in vault ergonomics and data sovereignty. Users can now migrate entire vaults from Bitwarden or legacy CSV/JSON files with full folder-to-Pod mapping, preview import differences before committing, manage hundreds of vault items at once with sticky batch operations (moving pods, tagging, and bulk trash/deletion), track password change histories, generate two-factor authenticator codes directly inside the vault with live countdown rings, export encrypted or plaintext backups, and attach up to 500MB encrypted files to Secure Notes with complete cascade deletion guarantees.
π Key Themes & Highlights
β‘ 1. Multi-Select Batch Operations Suite (Phase 21, Task 42)
- Sticky Multi-Selection Engine (
ItemListPane.tsx): Checkbox selection mode maintains selected item states across sorting, filtering, and tag switching without accidental state loss. - Batch Pod Relocation (
POST /api/vault/bulk-pod): Move multiple pearls, secure notes, and SSH keys to any destination Pod in a single atomic transaction. - Batch Tagging (
POST /api/vault/bulk-tags): Compound or strip bioluminescent tags across dozens of items simultaneously, preserving existing metadata. - Batch Deletion (
POST /api/vault/bulk-delete): Safely soft-delete or permanently purge batches of vault records with confirmation modals and automated selection cleanup. - Floating Action Bar: Renders dynamically above the item feed when selections are active, offering one-click Pod, Tag, and Trash actions styled with Reef Modernist accents.
π₯ 2. Universal Bitwarden Ingestion & Multi-Format Importer (Phase 21, Task 41)
- Universal Bitwarden JSON Ingestion (
src/lib/importers/bitwarden.ts): Ingests Logins (Pearls), Secure Notes, Credit Cards, and SSH keys/Identities with folder structures mapped automatically to sovereign Pods. - ShellGuard Native JSON & CSV Formats: Standardized parsers for importing and exporting complete encrypted or decrypted vault datasets.
- Pre-Flight Dry-Run Diff Engine (
POST /api/vault/bulk-import?dry_run=true): Provides an interactive preview before committing changesβdisplaying total items detected, valid items, duplicate collisions, and destination Pod breakdowns. - Client-Side Bulk Encryption: All imported items are encrypted in the browser using AES-256-GCM Layer 1 ShellCryption before transit, ensuring zero-knowledge privacy across large payloads.
β±οΈ 3. RFC 6238 Standardized TOTP Engine & Password History
- Client-Side TOTP Generation (
src/lib/totpEngine.ts): Built-in 2FA authenticator engine supporting RFC 6238 standards (SHA-1, SHA-256, SHA-512, 6 or 8 digits, 30s or 60s periods). - Live Countdown Ring & One-Click Copy: Visual circular timer indicator in
ItemDetailPane.tsxwith one-click clipboard copy for seamless login workflows. otpauth://URI Parsing: Automatically parses secret keys, algorithms, digits, and periods from standard authenticator URIs during import or manual configuration.- Item Password Generation History: Tracks up to 10 past password iterations per credential with timestamps sealed inside the encrypted payload, preventing lockouts during password rotation.
πΎ 4. Dual Export Suite (Encrypted & Plaintext)
- Encrypted JSON Export: Seals all vault credentials, notes, SSH keys, tags, and pod structures into an AES-256-GCM encrypted envelope keyed by the user's master password or a custom backup passphrase.
- Decrypted Plaintext CSV/JSON Export: High-friction confirmation modal with deliberate warning prompts allows exporting plaintext credentials for external migrations and physical cold storage.
- Zero-Persistence Export Streams: Data is processed purely in client-side memory using browser Blobs, preventing sensitive plaintext exposure on disk or server logs.
ποΈ 5. Migration 0008 Note Attachments Parity & Cascade Deletion
- Database Migration
0008_note_attachments_parity.sql: Introducesparent_note_idtovault_attachmentswith foreign key constraints, giving Secure Notes full parity with Pearls. - 500MB Encrypted Attachments for Notes: Secure Notes now support full multipart streaming file uploads up to 500MB per file within the 1000MB owner quota.
- Hardened Cascade Deletion: Deleting a Pearl or Note automatically cascades to purge all associated encrypted disk chunks and database records.
- Ghost Pod Cleanup: Purging or relocating items automatically prunes unreferenced empty pods, preventing UI clutter.
- UI Clarification: Updated file size indicators to explicitly state
Attachments (max 500MB per attachment).
π‘οΈ 6. Native WebCrypto Acceleration & Seam Hardening
- 600,000 PBKDF2-SHA256 Iterations: Hardware-accelerated key derivation via browser-native
crypto.subtle, verified against RFC 6070 known-answer test vectors. - Interaction Seam Hardening: Resolved modal dismissal leaks, deletion routing synchronization, and selection clearing across rapid UI operations.
- Deterministic Documentation Walk (
walk-the-docs.md): Established an automated workflow ensuring all root and portal documentation strictly adheres to codebase reality.
ποΈ Architectural Topology Map
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β π Client Layer (React 19 + Vite 6) β
β βββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββββββ β
β β SidebarFolderTree β β ItemListPane β β
β β (Pods, Tags, Bulk Mode) β β (Sticky Multi-Select & Action Bar) β β
β βββββββββββββ¬ββββββββββββββ ββββββββββββββββββββ¬ββββββββββββββββββββ β
β β β β
β βΌ βΌ β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β ItemDetailPane β β
β β (RFC 6238 TOTP Countdown, Password History, 500MB Note Attachments)β β
β βββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββ β
β β β
β βββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββ β
β β Client-Side Ingestion & Export Suite (WebCrypto PBKDF2) β β
β β (Universal Bitwarden JSON, Native CSV/JSON, Encrypted Exports) β β
β βββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββ β
ββββββββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββ
β (Opaque Ciphertext REST API)
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β π Server Layer (Express 5 + Helmet) β
β ββββββββββββββββββββββββββ βββββββββββββββββββββββββββββββββββββββββ β
β β requireAuth() Guard ββββ Bulk Transactional Handlers β β
β β (Tenant Scope / Owner)β β (/bulk-import, /bulk-pod, /bulk-tags) β β
β ββββββββββββββββββββββββββ βββββββββββββββββββββ¬ββββββββββββββββββββ β
β β β
β βΌ β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Streaming Busboy Pipeline (500MB Limit / 1000MB Quota) β β
β β Cascade Deletion Coordinator (Disk Artifacts + Ghost Pod Purge) β β
β βββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββ β
ββββββββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β π₯οΈ Bedrock Storage (SQLite + Migration 0008) β
β (vault_pearls, vault_secure_notes, vault_ssh_keys, attachments) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π¦ Changes by Layer
| Component | Files | Description |
|---|---|---|
| Database Migrations | migrations/0008_note_attachments_parity.{up,down}.sql |
Adds parent_note_id column to vault_attachments with foreign key and cascade deletion |
| Server / API | src/server/routes/{vault,notes,attachments}.ts |
Bulk import/pod/tags/delete endpoints, note attachment streaming, ghost pod pruning |
| Frontend / UI | src/components/Vault/{ItemListPane,ItemDetailPane,BulkImportModal,ExportModal,ItemFormModal}.tsx |
Sticky multi-select, floating bulk bar, TOTP countdown, password history, note attachments |
| Shared Libraries | src/lib/{totpEngine,importers/bitwarden,exportUtils,crypto}.ts |
RFC 6238 TOTP engine, Bitwarden universal parser, encrypted export cipher, WebCrypto PBKDF2 |
| Documentation Portal | docs/vault-features/{import-export,attachments,the-grotto}.md, docs/reference/blueprint-schema.md |
Comprehensive guides for bulk import/export, Bitwarden migration, and note attachments |
| Workflows & Templates | .agents/workflows/walk-the-docs.md, .agents/templates/verificationChecklist.md |
Deterministic documentation parity audit workflow and verification checklist standard |
| Test Oracle | tests/{bulk-operations,totp,bitwarden-import,note-attachments}.test.ts, all 26 test files |
100% green test coverage (313 passed, 1 skipped) |
π Commit Ledger (Since v0.0.2.2)
f425025β docs: synchronize documentation to reflect migration 0008 and add walk-the-docs workflow18a3a5dβ style: clarify attachment upload ceiling to 500MB per attachmentcc0603cβ fix: post-verification hardening for live interaction seams and template tiers767bd87β docs: add comprehensive verification checklist template for automated and manual testinga036bf6β fix(ui): harden action seams, preserve metadata on pod/bulk operations and add seam tests8e3224fβ docs(rules): formalize project hygiene, seam verification and live handshake protocol6236184β chore: add .agents/scratch to gitignorec7ea531β fix(vault): resolve item deletion routing, add confirmation dialog and clear selection state68bc40eβ docs(agents): update activeContext with 285 tests passed and PBKDF2 test parity1ca4c30β docs(cline): update memory bank and decision log for Phase 21 review verification02277e9β test(crypto): add PBKDF2-SHA256 known-answer vectors and WebCrypto parity testsf34997fβ docs(agents): synchronize Memory Bank and ROADMAP with Phase 21 Sub-Phase paritybaab110β feat(vault): implement native PBKDF2 WebCrypto acceleration and 600,000 iterationsa72ce7dβ feat(agents): formalize home-directory boundaries for Antigravity3b40008β docs: synchronize root README, BLUEPRINT, and import-export guides with Phase 216f862e5β feat: Phase 21 β Bulk Import Endpoint & Batch Operations (Tasks 41 & 42)b461268β feat: Bulk Import Endpoint & Batch Operations
π§ͺ Verification & Build Gates
- Test Oracle: 26/26 test suites passing (
313 passed,1 skipped,0 failures). - Typecheck & Linter:
tsc --noEmitclean with zero errors; ESLint passing. - Production Build:
vite buildcompiled cleanly. - Documentation Portal:
vitepress build docscompiled cleanly with zero broken links. - Link & Diagram Integrity: Documentation and mermaid tests 100% green.
π Upgrade & Verification Instructions
Upgrading via Docker / Unraid
docker pull ghcr.io/clawstackstudios/shellguard:latest
docker restart shellguardUpgrading from Source
git fetch --tags
git checkout v0.0.2.3
npm install
npm run build
npm run scuttle:prodYour reef. Your keys. Your secrets. β Trust the Shell. π¦