Skip to main content

Contact Method Verification

Contact Method Verification is an anti-spam protection feature that requires users to validate their email addresses, mobile numbers, and home phone numbers before the system sends dispatches, notifications, and messages through those channels. This ensures that outbound communications only reach confirmed, valid contact methods and protects against misrouted messages.

Why Contact Verification Matters

Without verification, a mistyped email address or phone number in a user's profile could cause dispatch notifications, alerts, and messages to be sent to the wrong person — or to no one at all. In emergency operations, missed notifications can have serious consequences. Contact verification ensures that every communication channel attached to a user has been confirmed by that user, reducing delivery failures and preventing spam to unintended recipients.

Scope

Contact verification applies to all personnel in a department. Each user is responsible for verifying their own contact methods. The verification status of each contact method determines whether outbound communications (dispatches, notifications, messages) are sent through that channel.

Verification States

Each contact method (email, mobile number, home number) has one of three verification states:

StateStored ValueDescription
GrandfatheredNULLThe contact method existed before verification was introduced. Communications are allowed. The user is encouraged to verify but not required.
PendingfalseThe contact method has been added or changed but not yet verified. Communications are blocked until verified.
VerifiedtrueThe contact method has been confirmed by the user. Communications are allowed.
Grandfathered Users

Existing users whose contact information was entered before the verification feature was introduced are automatically in the Grandfathered state. Their communications continue to flow normally. They will see a recommendation banner on their profile encouraging them to verify, but no action is forced.

How Verification Works

Email Verification

  1. The user clicks Verify next to their email address on their profile page.
  2. The system sends a verification email containing a numeric code to the email address on file.
  3. The user enters the code in the inline verification input on their profile page.
  4. If the code is correct and not expired, the email is marked as Verified.

Mobile Number Verification

  1. The user clicks Verify next to their mobile number on their profile page.
  2. The system sends an SMS containing a numeric code to the mobile number on file.
  3. The user enters the code in the inline verification input on their profile page.
  4. If the code is correct and not expired, the mobile number is marked as Verified.

Home Number Verification

  1. The user clicks Verify next to their home number on their profile page.
  2. The system sends an SMS containing a numeric code to the home number on file.
  3. The user enters the code in the inline verification input on their profile page.
  4. If the code is correct and not expired, the home number is marked as Verified.
Voice Call Numbers

If a voice call number shares the same value as the user's mobile number, verification of the mobile number also verifies the voice call channel. Otherwise, the home number follows the same SMS verification pattern.

Verification Code Rules

SettingDefaultDescription
Code Length6 digitsThe length of the numeric verification code
Code Expiry30 minutesHow long a verification code remains valid after being sent
Max Sends Per Hour3Maximum number of verification codes that can be sent per contact method per hour
Max Attempts Per Day5Maximum number of verification attempts (code entries) per contact method per day

All of these values are configurable by system administrators via the VerificationConfig configuration class.

Rate Limiting

If you exceed the maximum number of sends per hour or attempts per day, you will receive a rate-limited error and must wait before trying again. Daily attempt counters reset at midnight UTC.

What Happens When Contact Information Changes

When a user (or an administrator) changes a contact method value on a user's profile:

  • The corresponding verification status is reset to Pending (false).
  • Any existing verification code and expiry are cleared.
  • The verification attempt counter is reset to zero.
  • The user must re-verify the new contact method before communications resume on that channel.

This applies to changes made through:

  • The user editing their own profile
  • An administrator editing a user's profile
  • Any API-based profile update

Admin-Created Personnel

When an administrator creates a new user via Personnel → Add Person, the new user's contact methods (email, mobile number, home number) are initialized in the Pending state. The new user must verify their contact methods upon their first login or when they view their profile.

note

Unlike grandfathered users, newly created users will not receive dispatches, notifications, or messages via unverified channels until they complete verification.

Impact on Communications

Contact verification gates the following outbound communication channels:

Communication TypeGated ChannelVerification Required
Call Dispatch (email)EmailEmail must be Verified or Grandfathered
Call Dispatch (SMS)SMSMobile Number must be Verified or Grandfathered
Call Dispatch (voice)Voice CallHome or Mobile Number must be Verified or Grandfathered
Notifications (email)EmailEmail must be Verified or Grandfathered
Notifications (SMS)SMSMobile Number must be Verified or Grandfathered
Calendar AlertsEmail / SMSCorresponding method must be Verified or Grandfathered
Trouble AlertsEmail / SMSCorresponding method must be Verified or Grandfathered
Text MessagesSMSMobile Number must be Verified or Grandfathered
Chat MessagesEmail / SMSCorresponding method must be Verified or Grandfathered

If a contact method is in the Pending state, the system silently skips that communication channel for the user. The dispatch or notification is not failed — it simply does not send via the unverified channel. Other verified channels for the same user still function normally.

Profile UI Indicators

On the user profile page, each contact field displays a verification indicator:

IndicatorConditionDescription
Green verified badgeVerified (true)The contact method has been confirmed
Yellow warning banner with Verify buttonPending (false)The contact method needs verification; communications are blocked on this channel
Subtle info bannerGrandfathered (NULL) with a value presentRecommends the user verify to ensure uninterrupted delivery

The Verify button triggers the verification flow inline — sending a code and presenting an input field and Confirm button without navigating away from the profile page.

How Contact Verification Connects to Other Features

FeatureConnection
Dispatch & CallsEmail, SMS, and voice call dispatches are gated by verification status
NotificationsNotification delivery channels are gated by verification status
MessagesSMS message delivery is gated by mobile verification status
Text MessagingSMS-based features require a verified mobile number for outbound delivery
Adding PersonnelAdmin-created personnel start with Pending verification status
Profile & AccountVerification status is displayed and managed on the profile page
Voice & AudioVoice call dispatch is gated by home/mobile number verification

Common Errors and Resolutions

ErrorResolution
"Too many verification attempts. Please try again later."You have exceeded the daily attempt limit (default: 5). Wait until the next day or contact your administrator.
"A verification code has been sent." followed by no code receivedCheck your spam/junk folder (email) or ensure the phone number on file is correct. Wait a few minutes for SMS delivery.
"Verification failed. Please check the code and try again."Double-check the code you entered. Codes are 6 digits. Ensure you are entering the most recently sent code.
Verification code expiredCodes expire after 30 minutes (default). Click Verify again to send a new code.
Not receiving dispatches or notificationsCheck your profile for yellow warning banners next to your contact methods. Verify any Pending contact methods.
Admin-created user not receiving communicationsThe user must log in and verify their contact methods from their profile page.