fix(app): nothing secret is copied

The reading of the full reading's fixes found that copied recovery codes
and authenticator keys still reached clipboard histories (Windows, KDE's
Klipper, Gboard, Samsung's) and cloud clipboards, as no Flutter engine
marks a copy as sensitive, and that on Android an app in the background
can't empty the clipboard again, so the minute's clearing often never
happened.

As the developer decided: recovery codes are saved, like the phrase; an
authenticator's key is scanned as a QR code, opened in the authenticator
app, or typed from the screen. copySecret and its texts go.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-10-21 16:11:41 +02:00
commit 999877d95c
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -82,9 +82,10 @@ Written as the apps are: Dart 3.13's primary constructors, Material from
and the instance swaps anything in; deleting by a code by mail
follows `secondFactorWorks`, as the instance tells it, and asks for the
address only where the device doesn't know it. Secrets shown stay the
person's: the recovery phrase is saved or written down, never copied;
recovery codes and an authenticator's key are copied and the clipboard
emptied a minute later (`copySecret`); all of them show in a
person's: nothing secret is copied (no app can mark a copy as sensitive
through Flutter, so clipboard histories and cloud clipboards would keep
it): the recovery phrase and codes are saved or written down, an
authenticator's key scanned, opened or typed; all of them show in a
`SecretScreen`, kept out of screenshots and recents on Android
(`FLAG_SECURE`: the app's `MainActivity` answers `app.halkyon/screen_guard`,
as Learn's and Todo's `ScreenGuard.kt` do) and covered on iOS while the app