Appearance
User Management
User Management provides control over who can access InsightMaps and what actions they can perform. Administrators manage user accounts, assign admin privileges, and monitor user activity.
Overview
User Management Capabilities:
- User account creation: Create new users with email and password
- Admin control: Toggle admin and system admin privileges
- Account status: Activate or suspend user accounts
- Email verification: Manually verify user emails
- Bulk operations: Select and delete multiple users at once
- Search and filter: Find users by name, email, or verification status
- Sortable list: Sort by name, status, email verified, or last login
Access User Management
Location: InsightMaps Console → Users
How to Open:
- Log in to console.insightmaps.app
- Navigate to Users in left sidebar
- User list and management tools appear
Permission Required: Admin role
User Roles and Permissions
Role System
InsightMaps uses a simple role system based on boolean flags rather than named role levels:
| Flag | Purpose |
|---|---|
| IsAdmin | Grants admin access to the console (manage users, data sources, categories, layers, settings) |
| IsSystemAdmin | Grants unrestricted access. System admins can modify other system admins and perform destructive operations |
| IsActive | Controls whether the user can log in. Set to false to suspend an account |
Effective Permission Levels
| Level | IsAdmin | IsSystemAdmin | Capabilities |
|---|---|---|---|
| System Admin | Yes | Yes | Full platform access. Can manage all users including other system admins. Cannot be modified by regular admins |
| Admin | Yes | No | Manage users (except system admins), data sources, categories, layers, settings, view audit logs |
| User | No | No | Access the map application. View published maps and layers, use mapping tools, save private layers ("My Layers") |
Note: There are no "Editor" or "Viewer" sub-roles. All non-admin users have the same base permissions in the map application.
Permission Rules
- System admins can modify any user, including other system admins
- Regular admins cannot modify or delete system admin accounts
- Users cannot remove their own admin privileges (prevents lockout)
- Admin and system admin flags are shown as toggles in the user edit form
Creating User Accounts
Create New User
How:
- Navigate to Users page
- Click "Add User" button (top right)
- User creation form appears
- Fill in required fields:
- Username: Unique username
- Email: User's email address (used for login)
- Password: Initial password
- Display Name: Full name shown in UI (optional)
- Set permission toggles:
- Is Active: Whether the account is enabled (default: yes)
- Is Admin: Whether the user has admin access (default: no)
- Is System Admin: Only visible to system admins (default: no)
- Click "Create"
What Happens:
- User account created in database
- User can log in immediately with the provided credentials
- Audit log entry created
[insert image later]
Managing Existing Users
Edit User Profile
How:
- Navigate to Users page
- Find target user (search or browse)
- Click user row or Edit icon
- User edit form appears
- Update fields:
- Username
- Display Name
- Is Active toggle
- Is Admin toggle
- Is System Admin toggle (system admins only)
- Email Verified toggle
- Click "Save"
[insert image later]
Toggle Admin Access
How:
- Navigate to Users page
- Find target user
- Click the admin toggle directly in the user row
- Admin status updates immediately (optimistic update)
Restrictions:
- Cannot toggle admin on system admin accounts (unless you are a system admin)
- Cannot remove your own admin privileges
Suspend User Account
When to Suspend:
- Employee on leave
- Investigating suspicious activity
- Temporary access removal
How:
- Navigate to Users page
- Find target user
- Toggle the Is Active status to off (either in user list or edit form)
- User is immediately prevented from logging in
What Happens:
- User cannot log in (login attempts fail)
- Data and "My Layers" preserved
- Appears in user list with inactive status
- Audit log entry created
To Reactivate:
- Find suspended user
- Toggle Is Active back to on
- User can log in again
Verify User Email
How:
- Navigate to Users page
- Edit target user
- Toggle Email Verified to on
- Save changes
Use Case: Manually verify a user's email when the verification email was not received or expired.
Delete User Account
Caution: Permanent action!
How:
- Navigate to Users page
- Find target user
- Click Delete action
- Confirmation dialog appears
- Confirm deletion
What Happens:
- User account deleted from database
- User can no longer log in
- Audit logs preserved (user info denormalized — username and email kept in log entries even after deletion)
Recommendation: Suspend first by toggling Is Active to off, wait 30 days, then delete if confirmed needed.
Bulk Operations
Bulk Delete
How:
- Navigate to Users page
- Select multiple users using checkboxes (shift-click for range selection)
- Click "Delete Selected" button
- Confirmation dialog appears showing number of users to delete
- Confirm deletion
- Progress feedback shown as users are deleted
Restrictions:
- Cannot bulk delete system admin accounts (unless you are a system admin)
Search and Filtering
Search Users
How:
- Use the search box at top of Users page
- Type to search by:
- Username
- Display name
- Results filter in real-time
- Clear search with X icon
Filter by Verification Status
How:
- Click filter controls
- Filter by email verified status (verified / unverified)
- User list updates
Sort Users
Sortable Columns:
- Name (alphabetical)
- Status (active / suspended)
- Email Verified
- Last Login (most recent first)
Click column header to sort. Click again to reverse order.
Keyboard Navigation
The user list supports keyboard navigation:
- Arrow keys: Move between users
- Enter: Open edit form for selected user
- Space: Toggle selection (for bulk operations)
Authentication
Supported Login Methods
| Method | Description |
|---|---|
| Local | Email and password authentication |
| Google OAuth | Sign in with Google account |
| GitHub OAuth | Sign in with GitHub account |
How Authentication Works
- Tokens are stored in HTTP-only cookies (not accessible via JavaScript for security)
- Access tokens expire after 60 minutes
- Refresh tokens are valid for 7 days
- Email verification is supported with token-based verification links
- Password reset uses token-based reset links sent via email
Responsive Design
The Users page adapts to screen size:
- Desktop: Table layout with sortable columns and inline actions
- Mobile: Card layout with key information and action buttons
Troubleshooting
"User cannot log in"
Possible Causes:
- Account suspended (Is Active = false)
- Incorrect password
- Email not verified (if email verification is enforced)
- Account does not exist
Solutions:
- Check user account status (Is Active toggle)
- Reset user password
- Manually verify email (toggle Email Verified)
- Verify user exists in user list
"Cannot modify admin account"
Causes:
- Trying to modify a system admin account without system admin privileges
- Trying to remove your own admin privileges
Solutions:
- System admin accounts can only be managed by other system admins
- You cannot demote yourself (prevents lockout)
"Bulk delete not working"
Causes:
- Selection includes system admin accounts
- No users selected
Solutions:
- System admin accounts are protected from bulk delete (unless you are a system admin)
- Ensure at least one user is selected (checkboxes)
Integration with Other Console Features
Works With
Audit Logs:
- All user management actions are logged
- User info preserved in logs even after account deletion
- Filter audit logs by user to see their activity
Data Sources:
- Admin users can manage data sources and layers
- Regular users can only access the map application
Categories:
- Admin users can create, edit, and publish categories
- Regular users see published categories in the map application
Summary
User Management provides account administration:
- Roles: Simple two-level system (Admin / User) with optional System Admin flag
- Account Lifecycle: Create, edit, suspend, reactivate, delete
- Authentication: Local email/password, Google OAuth, GitHub OAuth
- Bulk Operations: Multi-select and batch delete
- Search & Sort: Find users by name/email, sort by multiple columns
- Security: HTTP-only cookies, email verification, password reset tokens
- Responsive: Desktop table and mobile card layouts
Key Points:
- Assign minimum necessary permissions (not all users need admin access)
- Suspend accounts before deleting (allows recovery period)
- System admin accounts are protected from modification by regular admins
- All actions are recorded in the audit log
