Enterprise Software Supply Chain Manager (ESSCM)
Organization & User Management
Manage organizations, teams, and user access in Safeguard.sh
Organization & User Management
Configure your organizational structure, manage teams, and control user access across Safeguard.sh products.
Organization Structure
Overview
Safeguard.sh uses a hierarchical structure:
Tenant
└── Organization(s)
└── Project(s)
└── Version(s)Tenant
The top-level container for your company:
- Single billing entity
- Global settings
- SSO configuration
- API key management
Organizations
Logical groupings within your tenant:
- Separate business units
- Different teams
- Project portfolios
- Access boundaries
Projects
Individual software projects:
- SBOM generation targets
- Security scanning units
- Policy application scope
Managing Organizations
Creating an Organization
- Go to Settings → Organizations
- Click + New Organization
- Enter details:
| Field | Description |
|---|---|
| Name | Organization name |
| Description | Purpose/description |
| Contact | Primary contact email |
- Click Create
Organization Settings
Configure per-organization settings:
| Setting | Description |
|---|---|
| Default Policy | Default security policy |
| Notification Settings | Alert configuration |
| Integration Defaults | Default integrations |
| Data Retention | Retention period |
Deleting an Organization
- Go to organization settings
- Click Delete Organization
- Confirm deletion (this removes all projects)
User Management
User Roles
| Role | Permissions |
|---|---|
| Tenant Admin | Full access to all organizations and settings |
| Manager | Manage specific organizations, users, policies |
| User | View and interact with assigned projects |
| Viewer | Read-only access to assigned projects |
Role Permissions Matrix
| Action | Tenant Admin | Manager | User | Viewer |
|---|---|---|---|---|
| Manage tenant settings | ✅ | ❌ | ❌ | ❌ |
| Manage organizations | ✅ | ✅* | ❌ | ❌ |
| Invite users | ✅ | ✅* | ❌ | ❌ |
| Create projects | ✅ | ✅ | ✅ | ❌ |
| Configure integrations | ✅ | ✅ | ✅ | ❌ |
| View projects | ✅ | ✅ | ✅ | ✅ |
| Export data | ✅ | ✅ | ✅ | ✅ |
| Manage mitigations | ✅ | ✅ | ✅ | ❌ |
*Within assigned organizations
Inviting Users
- Go to Settings → Members
- Click + Invite Member
- Enter:
| Field | Description |
|---|---|
| User's email address | |
| Role | Select user role |
| Organizations | Assign to organizations |
- Click Send Invitation
Managing Members
The Members page shows:
- Member name and email
- Status (Active/Pending/Disabled)
- Role assignment
- Organization membership
- Last active date
Modifying User Access
- Click on a user
- Modify role or organizations
- Save changes
Removing Users
- Click on a user
- Click Remove Access
- Confirm removal
Teams
Creating Teams
Group users into teams for easier management:
- Go to Settings → Teams
- Click + New Team
- Enter team name and description
- Add team members
- Assign organizations
Team Permissions
Teams can be assigned:
- Organization access
- Project access
- Notification preferences
- Policy ownership
Access Control
Project-Level Access
Control who can access specific projects:
- Open project settings
- Go to Access tab
- Add users or teams
- Set permission level
Permission Levels
| Level | Capabilities |
|---|---|
| Admin | Full project control |
| Write | Modify project data |
| Read | View project data |
SSO Integration
Automatic Provisioning
With SSO configured:
- Users auto-created on first login
- Group mappings assign roles
- Attributes set permissions
Group Mapping
Map SSO groups to Safeguard.sh roles:
- Go to Settings → SSO → Group Mappings
- Add mapping:
| SSO Group | Safeguard Role | Organizations |
|---|---|---|
| security-team | Manager | All |
| developers | User | Engineering |
| auditors | Viewer | All |
Audit Trail
User Activity Logs
Track user actions:
| Event | Logged Data |
|---|---|
| Login | User, time, IP |
| Project access | User, project, action |
| Setting changes | User, setting, old/new value |
| Role changes | Admin, user, role change |
Viewing Logs
- Go to Settings → Audit Log
- Filter by user, action, date
- Export logs as needed
API Access
# List users
curl -X GET https://api.safeguard.sh/v1/users \
-H "Authorization: Bearer $API_KEY"
# Invite user
curl -X POST https://api.safeguard.sh/v1/users/invite \
-H "Authorization: Bearer $API_KEY" \
-d '{"email": "user@example.com", "role": "user", "organizations": ["org-id"]}'
# List organizations
curl -X GET https://api.safeguard.sh/v1/organizations \
-H "Authorization: Bearer $API_KEY"
# Create organization
curl -X POST https://api.safeguard.sh/v1/organizations \
-H "Authorization: Bearer $API_KEY" \
-d '{"name": "Engineering", "description": "Engineering team projects"}'Best Practices
Organization Design
- Align with business structure
- Keep hierarchy simple
- Plan for growth
- Document ownership
User Management
- Use SSO when possible
- Apply least privilege
- Review access regularly
- Remove inactive users
Security
- Enable MFA for all users
- Review audit logs periodically
- Document access policies
- Train users on security