Skip to content

Handle ambiguous and nested encrypted QR codes, and hide legacy AES v1 modes#345

Open
earthdiver wants to merge 3 commits into3rdIteration:devfrom
earthdiver:dev
Open

Handle ambiguous and nested encrypted QR codes, and hide legacy AES v1 modes#345
earthdiver wants to merge 3 commits into3rdIteration:devfrom
earthdiver:dev

Conversation

@earthdiver
Copy link
Copy Markdown

@earthdiver earthdiver commented Mar 29, 2026

Description

  • Added support for nested encrypted QR codes
    (currently limited to static QR codes)

  • Added support for ambiguous QR codes. You can now choose in Settings how to handle QR codes that could be interpreted as either CompactSeedQR or EncryptedQR (or xprv).

  • Handle decrypted text from encrypted QR codes (as an alternative to PR Handle text payloads in encrypted QR decoding #175)

  • Hid legacy AES v1 modes from the encryption mode selector

This pull request is categorized as a:

  • New feature
  • Bug fix
  • Code refactor
  • Documentation
  • Other

Checklist

  • I’ve run pytest and made sure all unit tests pass before sumbitting the PR

If you modified or added functionality/workflow, did you add new unit tests?

  • No, I’m a fool
  • Yes (auto generated by gpt codex)
  • N/A

I have tested this PR on the following platforms/os:

@earthdiver earthdiver closed this Mar 30, 2026
@earthdiver earthdiver reopened this Mar 30, 2026
@earthdiver
Copy link
Copy Markdown
Author

earthdiver commented Mar 30, 2026

Notes

  • Encrypted QR does not support high-capacity QR formats such as BBQR, but in most cases it should be sufficient. (I have not figured out how to support reading both static and animated QR codes in SS.)

  • For ambiguous QR codes, CompactSeedQR is prioritized by default. This is to preserve compatibility with previous behavior and to account for the possibility that someone may create an encrypted QR code resembling CompactSeedQR for plausible deniability.

  • If the decrypted data does not match CompactSeedQR, xprv, or EncryptedQR, but is valid UTF-8 text, that text will be displayed. However, there are font limitations.

At present, all of these new features are meaningful only when used in combination with Krux’s Datum tool.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant