Add local-2fa extension#28429
Conversation
- chore: prepare for Raycast Store submission - docs: consolidate CHANGELOG for v1.0.0 first public release - chore: initial public release prep (v1.0.0)
|
Congratulations on your new Raycast extension! 🚀 We're currently experiencing a high volume of incoming requests. As a result, the initial review may take up to 10-15 business days. Once the PR is approved and merged, the extension will be available on our Store. |
Greptile SummaryAdds a new fully-offline, local-first 2FA TOTP extension for Raycast, with AES-256-GCM encrypted storage, four commands (list, add, Google migration import, QR image import), and 19 unit tests covering RFC 6238 vectors and parser edge cases.
Confidence Score: 4/5New security-focused extension with crypto-heavy storage and a custom protobuf parser — the algorithm mapping bug from the previous review round is fixed, but the crypto and serialization paths warrant a careful second read before merge. The previously flagged algorithm mapping error (SHA256 silently resolving to SHA1) is corrected in this revision and the test suite now validates the fixed mapping. The custom protobuf parser, AES-GCM vault, and PBKDF2 key derivation are all non-trivial crypto paths that benefit from an extra set of eyes, but no new defects were found in this pass. extensions/local-2fa/src/storage.ts and extensions/local-2fa/src/google-migration.ts contain the most sensitive logic and are worth a focused read. Important Files Changed
Reviews (4): Last reviewed commit: "fix: async PBKDF2 in storage to avoid UI..." | Re-trigger Greptile |
|
Addressed in 5bc575e: algorithm mapping fixed (1=SHA1, 2=SHA256, 4=SHA512, 3=SHA384 unsupported), default algorithm changed to 1, category set to Security, ESLint config wrapped with defineConfig, CHANGELOG header pdated to [Initial Release]. |
Description
Local 2FA Codes — fully offline, local-first 2FA TOTP code generator for Raycast on macOS.
What it does
passwordpreference (macOS Keychain)Commands
otpauth://URL with autofill, or fill manuallyotpauth-migration://...URLsqr+pngjs)Why a new extension
No existing Raycast extension offers fully offline TOTP with local encrypted storage, otpauth URL + Google Authenticator migration + QR image import in one place. All competing extensions rely on cloud services or external password managers.
Security
Clipboard.copyusesconcealed: truechild_process.Full threat model in SECURITY.md.
Tests
19 unit tests covering TOTP RFC 6238 vectors,
parseOtpauthUrledge cases,parseGoogleMigrationUrledge cases, anddecodeBase32bounds. Run withnpm test.Screencast
Screenshots are included in
extensions/local-2fa/metadata/(6 images at 2000×1250).Checklist
npm run buildand tested this distribution build in Raycastassetsfolder are used by the extension itselfREADMEare placed outside of themetadatafolder