NEMAR User Roles and Responsibilities
Version: 1.0.0 Date: 2026-01-18
User Accounts
Section titled “User Accounts”NEMAR system uses dedicated service accounts for different operational tasks:
| Account | Role | Responsibilities | |
|---|---|---|---|
| Owner | [email protected] | Super User | System ownership, full access, policy decisions |
| nemarAdmin | [email protected] | Administrator | User approval, dataset creation, routine admin |
| nemarRestore | [email protected] | Restore Agent | Dataset restoration, git commits for recovered data |
Role Details
Section titled “Role Details”Purpose: Ultimate system authority and oversight
Responsibilities:
- System ownership and governance
- Policy and architectural decisions
- Super-user access to all systems
- Emergency interventions
- Delegation of administrative tasks
Access:
- Full access to all GitHub organizations
- AWS root/admin credentials
- Cloudflare admin access
- All database permissions
Notes:
- Retains ownership but delegates routine operations to nemarAdmin
- Involved in critical decisions and emergencies
- Not used for day-to-day operations
Purpose: Day-to-day administrative operations
Responsibilities:
- Approve new user registrations
- Create dataset repositories
- Manage user permissions
- Create concept DOIs for datasets
- Handle routine administrative tasks
- Monitor system health
Access:
- Admin role in backend database
- GitHub organization admin (nemarDatasets)
- Dataset creation permissions
- User management interface
- Zenodo DOI creation
Typical Operations:
# Approve pending usernemar admin approve <username>
# Create concept DOInemar admin doi create <dataset_id>
# List pending usersnemar admin users --pending
# Revoke user accessnemar admin revoke <username>Notes:
- Primary contact for user support
- Handles dataset lifecycle management
- Does NOT have super-user/owner privileges
- Escalates to Owner for policy decisions
Purpose: Automated dataset restoration and recovery operations
Responsibilities:
- Restore datasets from Zenodo archives
- Recreate GitHub repositories after deletion
- Git commit attribution for restored datasets
- Documentation of restoration process
- Verification of restored data integrity
Access:
- Git commit identity
- GitHub push access (via scripts)
- AWS read access to S3 (for verification)
- No interactive login (service account)
Usage: This account is used only for git commit identity during restoration:
# Git configuration in restoration scriptsgit config user.name "NEMAR Restore"
# Commits appear as:Date: Sat Jan 18 18:30:00 2026 +0000
Restore nm000105 from Zenodo archive ... Restored by: NEMAR RestoreNotes:
- Service account, not for human login
- Used exclusively for restoration commits
- Provides clear audit trail for recovered datasets
- Commits are signed “Restored by: NEMAR Restore”
Workflow Examples
Section titled “Workflow Examples”New User Registration
Section titled “New User Registration”- User submits registration via CLI
- Email verification sent
- nemarAdmin receives notification
- nemarAdmin reviews and approves
- System generates credentials
- User receives approval email
Dataset Creation
Section titled “Dataset Creation”- User validates BIDS dataset locally
- User runs
nemar dataset upload - System creates GitHub repo
- System uploads to S3
- nemarAdmin creates concept DOI
- Dataset published
Dataset Restoration
Section titled “Dataset Restoration”- Dataset accidentally deleted
- Owner or nemarAdmin identifies need
- Run restoration script (uses nemarRestore identity)
- Script commits as “NEMAR Restore [email protected]”
- Verification performed
- Database entries restored by nemarAdmin
Security Considerations
Section titled “Security Considerations”Principle of Least Privilege
Section titled “Principle of Least Privilege”- nemarAdmin: Can manage users and datasets, cannot modify system architecture
- nemarRestore: Can only commit to git, no database or user management access
- Owner: Retains full access but delegates routine operations
Access Separation
Section titled “Access Separation”Owner (yahya) ├── Full system access ├── Policy decisions └── Emergency interventions
nemarAdmin ├── User management ├── Dataset management └── DOI creation
nemarRestore (Service Account) └── Git commit identity onlyAudit Trail
Section titled “Audit Trail”All operations are logged with appropriate attribution:
- User approvals → Logged to nemarAdmin
- Dataset restorations → Git commits by NEMAR Restore
- System changes → Logged to Owner
- API usage → Logged per user’s API token
Future Enhancements
Section titled “Future Enhancements”Two-Tier Admin Permissions (Issue #35)
Section titled “Two-Tier Admin Permissions (Issue #35)”Planned enhancement to dataset deletion:
Tier 1: nemarAdmin
- Can delete datasets they created
- Cannot delete owner-created datasets
- Requires confirmation for deletions
Tier 2: Owner
- Can delete any dataset
- Requires double confirmation
- Logged with full audit trail
Automated Restore Triggers
Section titled “Automated Restore Triggers”Future automation could:
- Detect accidental deletions
- Trigger restoration automatically
- Notify nemarAdmin of recovery
- Update database entries
Contact
Section titled “Contact”For Administrative Questions:
- Email: [email protected]
- Role: Day-to-day operations, user management
For System/Policy Questions:
- Email: [email protected]
- Role: System owner, architectural decisions
For Technical Documentation:
- See: NEMAR_RESTORATION_GUIDE.md
- See: Repository AGENTS.md files (CLAUDE.md is a thin adapter that imports AGENTS.md)
References
Section titled “References”Maintained by: NEMAR Development Team Last Updated: 2026-01-18