- TypeScript 57.2%
- Kotlin 30.7%
- HTML 10%
- JavaScript 2.1%
|
Jolly Good
9b829ffd73
All checks were successful
Format, test & SonarCloud / Format, test & analyze (push) Successful in 1m5s
|
||
|---|---|---|
| .forgejo/workflows | fix the sonarcloud workflow | |
| android | draft android implementation | |
| typescript | bump ts version + release | |
| .gitignore | draft android implementation | |
| BREAKING.md | change key derivation format, zeroizing, bump version to 1.0.1, read BREAKING.md | |
| LICENSE | Initial commit | |
| README.md | update readme md | |
| SECURITY.md | fix typos in security and readme | |
🦭 device-seal
Device-bound, user-verified key custody and local encrypted storage for local-first apps — no backend.
A secret is encrypted on the device and can be read back only after the user verifies on their WebAuthn authenticator (passkey). Nothing — not the secret, not the key, not the salt — ever leaves the machine. Quantum-resistant symmetric core: AES-256-GCM + HKDF-SHA-512 (CNSA 2.0 symmetric/hash primitives, NIST PQC Category 5).
Implementations
| Implementation | Platform | Quality | Review | Install |
|---|---|---|---|---|
| TypeScript | Browser (WebAuthn PRF) | Quality Gate Status | ⚠️ Internal only | NPM Version |
| Tauri / Rust | Desktop (Secure Enclave / TPM) | — | — | — |
| Android | Mobile (Android Keystore) | — | — | — |
See typescript/README.md for the full API, quick start, and security model,
and BREAKING.md for breaking changes between releases.
Security
This is a security-sensitive library, and it has not yet had an independent audit or review — use it at
your own risk. The cryptographic design and its threat model are documented in
typescript/README.md .
Found a vulnerability? Please do not open a public issue. Report it privately by email to
reports@thinking.tools and follow the disclosure process in SECURITY.md , which also
lists supported versions and what to expect after you report.
Contributing
Contributions are warmly welcomed and deeply appreciated — bug reports, fixes, docs, and new platform implementations alike.
Before committing to any work, please open an issue and let's talk it through first. This is a security-sensitive, zero-backend library where the cryptographic design is load-bearing, so a short conversation up front saves everyone effort — it lets us agree on the approach, avoid duplicate or conflicting work, and make sure a change fits the threat model before you invest your time. Please don't open a large pull request out of the blue; start a discussion, and we'll go from there.
Small, obvious fixes (typos, broken links, clear bugs) are fine to send directly. For anything larger, the issue comes first — but every thoughtful contribution is genuinely valued.
License
MIT © thinking.tools — https://codeberg.org/thinking_tools/device-seal