Admin users
The Users page in the admin module is where admins manage user accounts — searching, viewing metadata, suspending abusive accounts, restoring suspended accounts, granting credit packs (e.g. for refunds), and triggering password resets. Critically, admins cannot read user-private data (health entries, notes, memories) through this page or any other path — only platform-level account metadata is visible.
What this page shows
For each user:
- Display name + photo (the same one shown in their community profile).
- Email (primary account email).
- UID (Firebase Auth user ID — internal identifier).
- Signup date.
- Last sign-in date.
- Account status — active / suspended / deleted (in grace) / deleted (purged).
- Plan — free / premium.
- Credit balance.
- Country / region (from sign-up IP — approximate, for compliance routing).
- Connected platforms — web / Android / iOS / extension.
- Role — user / admin / superadmin.
The page does NOT show:
- Health logs.
- Notes content.
- Memory media.
- Chat content.
- Family tree data.
- Any personal record content.
These are denied by Firestore rules regardless of admin role.
Search
Search supports:
- Email (substring match).
- Display name (substring match).
- UID (exact match).
- Phone (last 4 digits if user provided one for blood-donor or 2FA).
Results paginate at 50 per page; filter by status / plan / role for narrower lookups.
Suspending an account
To suspend:
- Open the user's record.
- Tap Suspend account.
- Pick a reason from the predefined list (harassment / spam / payment dispute / policy violation / other).
- Optional free-text note.
- Confirm.
Effect:
- User is signed out of all devices.
- New sign-in attempts show "Account suspended — contact support".
- All Firestore writes from the account are denied (account-status check in rules).
- The audit log records the suspension with admin, timestamp, reason.
Suspension is reversible — restore from the same page.
Restoring an account
- Open the suspended user's record.
- Tap Restore account.
- Optional reason text.
- Confirm.
The user can sign in again on next attempt. Their data was never deleted — suspension is access-only.
Triggering a password reset
Useful if a user contacts support saying "I can't sign in":
- Open the user's record.
- Tap Send password reset.
- Firebase Auth sends a reset email to the account's primary email.
- The audit log records the action.
Admins don't see the user's password (Firebase Auth doesn't expose passwords to anyone, including admins).
Granting credits
For refunds, promotional grants, or beta-tester compensation:
- Open the user's record.
- Tap Adjust credits.
- Enter amount (positive to grant, negative to deduct).
- Required reason text.
- Confirm.
The user sees the new balance immediately via Firestore sync.
Granting premium days
Similar flow:
- Adjust premium.
- Days to add (1–365 typically; 0–N to extend or reduce).
- Reason.
- Confirm.
Premium status updates immediately.
Account deletion (admin-initiated, rare)
Admins should rarely initiate user-account deletion — the standard flow is user-initiated via their own Settings.
For exceptional cases (court order, regulatory request, user has lost access and requested deletion):
- Open the user's record.
- Tap Initiate deletion.
- Required: reason, ticket reference, dual-admin sign-off (a second admin must approve).
- The 30-day grace period starts.
- The user is signed out and notified by email.
Same purge schedule applies — 30 days, then complete data wipe.
Audit log
Every admin action on this page logs to the audit collection. Other admins can:
- See who did what.
- Review the reason text.
- Reverse some actions (suspension, credit grants).
What this page is not
- Not a user-data viewer. No personal-records visibility.
- Not an impersonation tool. No "sign in as user".
- Not for bulk operations. One user at a time; batch operations require database-level scripts (run by superadmin with appropriate care).
Where to read next
- Verifications — approve identity / professional verification.
- Communities — community-level moderation.
- Payments — refund processing.
Last updated: 2026-05-11 Author: Ahsan Mahmood