Skip to main content

iOS troubleshooting

"I'm not receiving pushes"

Walk through in order — stop at the first no.

1. Can you open the app and see alerts?

If no: your login doesn't work yet; see Getting started.

2. Did you allow notifications when iOS asked?

iOS Settings → Surface Security → Notifications.

  • Allow Notifications should be on.
  • Sounds, Badges, Banners should be on.
  • Critical Alerts on (if Apple approved the entitlement).

If you denied earlier, toggle it on here and re-launch the app.

3. Is your device registered?

Open the app → Settings tab → Signed in as …. If the account is correct, the app will have registered your device on last launch.

To force re-registration, sign out and back in.

4. Does an admin have you opted into mobile access?

Ask your admin to check (via the mobile-access API — dashboard controls are not yet available; see the access-control guide):

  • Your per-user Mobile access flag is on (PUT /api/v1/admin/admin-users/<uuid>/mobile-access).
  • Your role is enabled in the tenant-wide role gate (PUT /api/v1/admin/settings/mobile-access-by-role).

If either is off, pushes are dropped at the backend (even if APNs succeeded before access was revoked).

5. Does a rule match the alert severity/type?

Web → Settings → Push rules. The first matching rule in priority order wins. If no rule matches your alert's severity+type, no push fires. Add a catch-all low-priority rule if needed.

6. Quiet hours?

If your push priority is default or silent, the user's quiet- hours window in the app's Settings tab suppresses the push. Loud rules bypass quiet hours.

7. Escalation not firing?

  • The rule must have Escalate after (minutes) set.
  • The on-call schedule the rule targets must have an Escalation target configured.
  • The notify consumer must be running (backend infra concern — ask your SRE).

"Pushes arrive late"

  • APNs sandbox (DEBUG builds) is slower than production — ~seconds to a minute. TestFlight + production use api.push.apple.com which is typically <10 s.
  • The notify consumer runs async from alert ingest — typical latency end-to-end is 2–10 seconds.

"Face ID prompt loops"

Each time the app backgrounds (including from a notification tap), the app re-locks. This is intentional and not a bug — see Security and privacy.

If Face ID is failing, iOS falls back to passcode after a few tries.

"I see 'Screen recording active — content hidden'"

Something on the device is recording or mirroring the screen (AirPlay, QuickTime recording, a screen-share call). Stop the recording and the banner disappears.

"How do I switch tenants?"

Sign out (Settings tab → Sign out). Back on the onboarding screen, enter the new server URL and tenant slug. Keychain is wiped on sign- out so the next account is a clean slate.

Still stuck?

Ask your security team to check the audit log for mobile.access.enabled, mobile.device.registered, and mobile.device.revoked events for your user.