CRITICAL story-admin-portal-organization-administrator-002 5 pts
5
Story Points
Critical
Priority
Admin Portal
Feature

User Story

As a Organization Administrator
I want to view, search, and manage user profiles within my permitted organizational scope, including handling multi-organization memberships
So that So that I can maintain accurate user records, onboard new members, and resolve membership conflicts without relying on manual spreadsheet processes

Acceptance Criteria

  • Given I am an Organization Administrator, when I open user management, then I see only users within my organizational scope as enforced by Supabase RLS
  • Given the user list is displayed, when I search by name or email, then the list filters in real time to matching users only
  • Given I select a user, when I view their profile, then I see all organizational memberships, current roles, and account status
  • Given a user belongs to multiple local associations, when I view their profile, then all affiliated associations are listed with options to clarify primary affiliation
  • Given I update a user's profile or membership, when I confirm the change, then the audit edge function logs the actor, timestamp, action type, and affected entity
  • Given I attempt to access a user outside my organizational scope, when the request is processed, then the RLS policy blocks the query and returns an empty result

Business Value

Manual membership management via spreadsheets is a top pain point for NHF and other organizations. A purpose-built user management interface with RLS-enforced scope boundaries replaces error-prone manual processes, directly improving data quality for Bufdir compliance reporting and reducing the risk of double-counting that results in grant clawbacks.