Skip to content

Ideas from an external review (not implemented — product calls) #53

Description

@deanrie

Collected while reviewing the three seQRets projects (PRs #43–#52). These are the items I did not implement because each is a product or format decision rather than a fix. Listed so they are not lost; take or close as you see fit.

  1. Decrypt several files at once. Closed issue [Features] Support bulk file import for encryption #4 asked for bulk import. One password, N .ibitz files, N downloads — no ZIP, no new format. The drop zone already takes a FileList; today only [0] is used.
  2. Argon2id as format v2. The one open audit item (SECURITY-AUDIT.md, Low Update README.md #1). Web Crypto has no Argon2, so it means a WASM implementation (~20 KB) inside the single file. A new version byte keeps every existing ciphertext opening; the recovery tool would need the same block. Best done together with 3.
  3. Files above 100 MB via chunked AES-GCM (per-chunk nonce derived from a per-file random prefix + counter, each chunk authenticated, length-committed). Also format v2; same version-byte path.
  4. Printable "emergency card." The QR of an encrypted text plus a one-paragraph instruction ("open ittybitz.app/ittybitz-recovery.html, paste, enter the password") on one page, for a safe or a notary. Reuses the existing QR; mostly a print stylesheet and a button.
  5. Confirm the key file, too. Type the password twice before encrypting; an 8-word passphrase generator from the built-in BIP-39 list #52 adds "type the password twice"; the key file has the same failure mode (wrong file picked, discovered months later). A fingerprint of the key file's first bytes shown next to it — e.g. the first 8 hex chars of its SHA-256 — lets the user recognise it later without exposing it.

Not suggested on purpose: a BIP-39 seed generator (that is My-Seed-Phrase's job), cloud sync of anything, or a password manager integration (both contradict the "nothing leaves the page" posture).

Activity

  1. deanrie commented on Oct 8, 2026

    @deanrie
    ContributorAuthor

    Items 1 (several files at once) and 5 (key-file fingerprint) are now PR #54. Remaining here: 2 (Argon2id / v2), 3 (>100 MB), 4 (printable card).

  2. deanrie commented on Oct 8, 2026

    @deanrie
    ContributorAuthor

    Item 4 (printable card) is now PR #55. Remaining here: 2 (Argon2id / v2) and 3 (>100 MB) — both format changes, left to you.

  3. deanrie commented on Oct 8, 2026

    @deanrie
    ContributorAuthor

    Items 2 and 3 (Argon2id, >100 MB) are now written up as a design-only RFC with a decision matrix: #58. Everything else in this list has become a PR; the integration branch #57 carries all of them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions