Hey,
I am not able to use iCloud Keychain Autofill for TOTP in kite. I went and dinged up a bit and found below with the help of AI.
<input type="number" placeholder="••••••" id="userid" autocorrect="off"
required="required" minlength="6" maxlength="6" autofocus="autofocus"
pattern="[0-9]+" label="External TOTP" rules="" dynamicwidthoffset="4"
icon="shield" staticlabel="true" autocomplete="off">
Why Safari isn’t auto-filling
-
autocomplete="off"- This explicitly tells the browser: “don’t use autofill here.”
- Safari will usually respect that and won’t auto-suggest passwords / codes unless you manually invoke it (right-click → Passwords…, which is what you’re doing now).
-
No
autocomplete="one-time-code"-
For OTP/TOTP fields, Safari looks for something like:
autocomplete="one-time-code" -
Without this, it just treats it as a normal numeric field, not a “verification code” box.
-
-
id="userid"is misleading- Name/ID like
useridmake the field look like a username, not a code. - Not a blocker by itself, but it doesn’t help Safari’s heuristics.
- Name/ID like
-
type="number"+ custom stuff- Apple’s own examples usually use
type="text"withinputmode="numeric". type="number"can work, but again, combined withautocomplete="off"it’s not ideal.
- Apple’s own examples usually use
What Zerodha should use (for proper auto-fill)
Something like this would make Safari (and Chrome, iOS, etc.) behave nicely:
<input
type="text"
inputmode="numeric"
pattern="[0-9]*"
name="external_totp"
id="external-totp"
autocomplete="one-time-code"
minlength="6"
maxlength="6"
required
>
Or at least:
- Remove
autocomplete="off" - Add
autocomplete="one-time-code"
For you right now
You’re already doing the best possible UX given their markup:
- Click in the field → right-click → Passwords… (or press
⌘ + ⇧ + .) - Select Zerodha → TOTP gets filled from iCloud Keychain.
If you want to nudge them, you can literally send their support/devs:
“Your External TOTP input uses
autocomplete="off"and noautocomplete="one-time-code", so Safari/iCloud Keychain can’t auto-fill the 6-digit TOTP. If you change it toautocomplete="one-time-code"(and dropoff), Apple’s and other browsers’ OTP autofill will start working.”
Is it possible for you guys to enable autofill here ?