- Home
- Email Phone Verification Cards
Verifying Your Email and Phone — the Verification Cards
Where to find it
Both on your Main Hub (/dashboard/) and on
Account Settings → Overview (/user/account/) you'll
see two cards — Email and Phone. The color tells you
everything at a glance:
- Green card — verified. Nothing to do.
- Red card — action needed, and every tool you need is inside the card itself.
- Dashed card — phone not added yet (optional; adds bonus features).
Inside the red email card
- Email me the code — sends a fresh 6-character code to your address (check the spam folder if it doesn't arrive within a minute).
- Code box — type the code right there and press Verify. No hunting for a separate page. Letters or numbers, any case works.
- Change email — if the address is wrong, fix it first; a new address must be verified again, and an address already used by another account is rejected.
After verifying (or resending), you land right back on the page you were on.
Phone system master switch (admin)
The ENTIRE phone system is gated behind one admin switch at /adminapp/communication-settings/sms/ (“Phone System Master Switch”). While OFF (the default), users see no phone card, no add-phone or verify-phone pages — only email verification. Turn it ON after an SMS provider is chosen and configured; the page lists provider price comparisons and warns that the built-in scaffold only prints codes to server logs. Saved numbers survive toggling.
Phone card
Same idea for US numbers: Text me a code, then the code box right in the card. Adding a number supports any country (United States listed first) — but verification texts can currently reach US numbers only, so numbers from other countries are saved to the profile and shown in a calm “Saved” card until SMS coverage expands. Once nothing needs the user's action, the Main Hub collapses the cards into a slim green strip so the workspace stays clean — the Account page keeps the full cards.
For developers
- Shared partial:
userapp/templates/userapp/_verification_cards.html(include withcard_next= "hub"/"account", optionalcompact_verified). - Embedded forms carry a
nextfield;_verification_next()inuserapp/views.pymaps it to named routes only (no open redirect). - Tests:
userapp.tests.VerificationCardsTests(10).