Offline Authenticator is a two-factor authentication (2FA) code generator for Android. It generates time-based one-time passwords (TOTP, RFC 6238) entirely on the user's device. Core features: - Add accounts by scanning a QR code with the camera, or by typing a setup key by hand. - Supports SHA1/SHA256/SHA512, 6/7/8 digit codes, and custom periods. - Tap a code to copy it to the clipboard. - Optional app lock with a PIN. When a PIN is set, the account list is encrypted with a key derived from that PIN (PBKDF2-SHA256, 210,000 iterations, AES-256-GCM). When no PIN is set, the same encryption is used with a key stored on the device; the app tells the user plainly that this only protects against other apps, not against someone holding the unlocked phone. - Encrypted backup: the user chooses a backup password, and the app produces a single encrypted JSON file which is handed to the Android share sheet. The user decides where it goes (their own cloud drive, password manager, cable). The app never transmits it. - Restore from a backup file, and import accounts from Google Authenticator's "Transfer accounts" QR code (otpauth-migration). - Manual clock offset correction and a clock diagnostics screen, because TOTP depends on device time and the app cannot reach a time server. Monetization: NONE. The app is completely free. There are no subscriptions, no in-app purchases, no ads, no paywall. Accounts: there is NO user account, no sign-up, no login, no email collection. Permissions: CAMERA only, requested at runtime and only while the QR scanner screen is open; the app works fully without it via manual key entry. The app deliberately does NOT declare the INTERNET permission, so it is technically incapable of making any network connection.