Crumbls
Services About Us Projects Blog Documentation Contact Us Help Desk
Services About Us Contact Us Help Desk
← All Packages /

Sealcraft

v1
  • Introduction
  • Installation
  • Getting Started
    • Model Integration
    • Encrypted JSON
  • KEK Providers
    • AWS KMS
    • GCP Cloud KMS
    • Azure Key Vault
    • HashiCorp Vault Transit
    • Local Provider
  • Encryption Contexts
    • Per-Group Strategy
    • Per-Row Strategy
    • Delegated Context
  • Key Management
    • KEK Rotation
    • DEK Rotation
    • Provider Migration
    • Crypto-Shred
  • Configuration
  • Events
  • Advanced
    • Architecture
    • Ciphers
    • Threat Model
    • Performance
    • Moving columns from APP_KEY to Sealcraft
  • Testing
  • API Reference
    • KeyManager
    • Contracts
    • Exceptions
  • Troubleshooting
  • Architecture Decisions
    • ADR-0001: Active-DEK uniqueness in app layer
    • ADR-0002: Per-row requires explicit backfill

Architecture Decision Records document the non-obvious design choices in Sealcraft -- the ones where a reasonable person might pick differently and deserves to know why we didn't.

  • ADR-0001: Active-DEK uniqueness in app layer -- why the invariant is enforced in KeyManager rather than as a DB partial unique index
  • ADR-0002: Per-row requires explicit backfill -- why adopting the per-row strategy throws InvalidContextException on legacy rows instead of silently minting UUIDs

Contributors

Thank you to everyone who has contributed to this package. Every pull request, bug report, and idea makes a difference.

chasecmiller chasecmiller
View on GitHub Sponsor this project
Crumbls, LLC · Lafayette, CO 80026 · 303-909-3437 · contact@crumbls.com

Copyright © 2026 Crumbls, LLC. All rights reserved.

  • Privacy Policy
  • Terms of Service
  • Helpdesk