How to enable 2FA on Heroku
- Sign in to your Heroku account.
- Open Account settings → Security (the exact path varies; see the official docs link above).
- Choose your preferred method from the list — TOTP and hardware keys are the recommended options.
- For TOTP: scan the QR code with Kaito or your authenticator app of choice. Verify the first 6-digit code before saving.
- For hardware keys: insert your key when prompted and tap to enroll. Register at least two keys per account so loss of one doesn't lock you out.
- Save the recovery codes somewhere safe — they're your last resort if you lose your authenticator and your hardware keys.
Hardware keys supported
Heroku documents support for: Built-in Authenticator (Biometrics).
Recovery
https://devcenter.heroku.com/articles/recovery-codes
Sharing Heroku 2FA with a team (with Kaito)
Kaito gives you a vault for shared TOTP and a real-time inbox for shared SMS, with per-token group permissions and an audit log on every code view. To share Heroku access with your team:
- In Kaito, go to Tokens → New and add the Heroku 2FA seed (or scan the QR).
- Permission the token to a group:
code-onlyfor most teammates,full-seedonly for the admins who would handle rotation. - Stream the audit log to your SIEM if you want a complete record of which team members generated codes for Heroku and when.
Heroku permits shared access in their terms of service.
Frequently asked questions
Does Heroku support 2FA?
Yes. Heroku supports 2FA via TOTP, Custom app, Custom hardware, Hardware key.
What is the most secure 2FA method for Heroku?
A hardware security key (Built-in Authenticator (Biometrics)) is the most phishing-resistant option Heroku supports. Use TOTP as a fallback.
Can I share Heroku 2FA with my team?
Yes. Heroku's terms of service permit shared access. Use Kaito to share the 2FA codes with audit logging and per-user permissions.
How long does it take to enroll Heroku 2FA in Kaito?
Under two minutes. Open the Heroku security settings, scan the QR code with Kaito's add-token flow, and verify the first generated code matches.