SoCMate uses role-based access control (RBAC) to manage what each user can do on the platform. Users authenticate via Azure Entra ID and are automatically provisioned on first login with the default analyst role.

Roles

SoCMate has two roles:

Permissions by Role

User Provisioning

Users are automatically created in SoCMate on their first login via Azure Entra ID:
  1. User clicks Sign In and authenticates with Azure Entra ID
  2. SoCMate exchanges the authorization code for tokens
  3. A new user record is created with:
    • Azure Entra ID subject identifier
    • Email address and display name from the ID token
    • Default role: analyst
    • Default settings (dark theme, notifications enabled)
  4. The user is redirected to the dashboard
No manual user creation is required. Any user in your Azure Entra ID tenant with access to the SoCMate App Registration can log in.

Listing Users

Admins can view all platform users with optional search and pagination:
Response:
Query parameters:

User Profile

Each user has a profile with optional metadata: Users can update their own profile:

User Settings

Each user has configurable settings:
Response:
Update settings:

Settings Reference

Access Control Enforcement

Role checks are enforced at the API layer. Any request to an admin endpoint without the required role returns 403 Forbidden:

UI Access Control

The SoCMate UI enforces role-based visibility:
  • Pages require authentication
  • Admin pages require the admin role
  • Admin navigation items are only visible to users with the admin role
  • Attempting to access an admin page as an analyst redirects to the dashboard

Default Role Assignment

New users receive the analyst role automatically. To change a user’s role, an admin must update it through the admin panel.