← Back to list

crypto
by bentefay
A web app to help you understand where your money is going.
⭐ 2🍴 0📅 Jan 10, 2026
SKILL.md
name: crypto description: Client-side cryptography with libsodium. Use when working on files in src/lib/crypto/.
Crypto Guidelines
All crypto happens client-side. Server NEVER sees plaintext.
Architecture
- Seed phrase (128-bit) → Ed25519 keypair (signing) → X25519 keypair (encryption)
- Vault key (random 256-bit) wrapped with user's X25519 public key
- Data encrypted with XChaCha20-Poly1305
Critical Rules
- Never log keys or sensitive data - not even in development
- Use libsodium - don't implement crypto primitives
- Async everywhere - all functions async (libsodium-wrappers)
- Constant-time comparisons -
sodium.comparefor secrets - Zeroize secrets -
sodium.memzerowhen done - Type-safe keys - use branded types (VaultKey, SigningKey)
Common Pitfalls
- Don't use
crypto.randomBytes→ usesodium.randombytes_buf - Don't concatenate key material → use proper KDFs
- Don't store keys in localStorage without encryption
- Don't forget
await sodium.readybefore operations
Testing
Use property-based tests for roundtrip verification with fast-check.
Score
Total Score
50/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
Reviews
💬
Reviews coming soon