> ## Documentation Index
> Fetch the complete documentation index at: https://docs.porcia.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Roles & Permissions

> Understanding user roles and permissions in Porcia

# Roles & Permissions

Porcia uses role-based access control to manage what team members can see and do in your workspace. This guide explains the different roles and their permissions.

## User Roles

Porcia has two main user roles:

<CardGroup cols={2}>
  <Card title="Admin" icon="crown">
    Full access to all workspace features including billing and team management
  </Card>

  <Card title="Member" icon="user">
    Standard access to core features with some restrictions
  </Card>
</CardGroup>

## Role Comparison

| Feature                 | Admin       | Member     |
| ----------------------- | ----------- | ---------- |
| **Vendor Management**   |             |            |
| View vendors            | ✅ Yes       | ✅ Yes      |
| Add/edit vendors        | ✅ Yes       | ✅ Yes      |
| Delete vendors          | ✅ Yes       | ❌ No       |
| Upload documents        | ✅ Yes       | ✅ Yes      |
| **Negotiations**        |             |            |
| View negotiations       | ✅ Yes       | ✅ Yes      |
| Start negotiations      | ✅ Yes       | ✅ Yes      |
| Assign negotiations     | ✅ Yes       | ✅ Own only |
| Delete negotiations     | ✅ Yes       | ❌ No       |
| **Analytics**           |             |            |
| View team analytics     | ✅ Yes       | ✅ Limited  |
| View individual usage   | ✅ All users | ✅ Own only |
| Export reports          | ✅ Yes       | ✅ Yes      |
| **Integrations**        |             |            |
| Connect integrations    | ✅ Yes       | ❌ No       |
| Disconnect integrations | ✅ Yes       | ❌ No       |
| View integration status | ✅ Yes       | ✅ Yes      |
| **Team Management**     |             |            |
| Invite team members     | ✅ Yes       | ❌ No       |
| Remove team members     | ✅ Yes       | ❌ No       |
| Change roles            | ✅ Yes       | ❌ No       |
| View team list          | ✅ Yes       | ✅ Yes      |
| **Billing**             |             |            |
| View billing            | ✅ Yes       | ❌ No       |
| Manage subscription     | ✅ Yes       | ❌ No       |
| Add/remove seats        | ✅ Yes       | ❌ No       |
| Update payment method   | ✅ Yes       | ❌ No       |
| **Workspace Settings**  |             |            |
| Edit workspace details  | ✅ Yes       | ❌ No       |
| Configure preferences   | ✅ Yes       | ❌ No       |
| Manage notifications    | ✅ Yes       | ✅ Own only |

## Admin Role

### Permissions

Admins have full access to all workspace features:

**Vendor Management:**

* View, add, edit, and delete all vendors
* Upload and manage documents
* Configure vendor settings
* Merge duplicate vendors
* Archive vendors

**Team Management:**

* Invite and remove team members
* Change user roles
* View team activity
* Manage team permissions
* Configure team settings

**Billing & Subscription:**

* View billing information
* Manage subscription plan
* Add or remove seats
* Update payment method
* View invoices and receipts

**Integrations:**

* Connect email integrations
* Connect SSO providers
* Install browser extension
* Configure integration settings
* Disconnect integrations

**Analytics & Reporting:**

* View all team analytics
* See individual user usage
* Export all reports
* Configure analytics settings
* Set up custom dashboards

**Workspace Settings:**

* Edit workspace information
* Configure workspace preferences
* Manage notification rules
* Set discovery settings
* Configure security settings

### Responsibilities

Admins are responsible for:

1. **Team oversight** - Managing team members and access
2. **Billing management** - Ensuring subscription is active
3. **Integration setup** - Connecting data sources
4. **Security** - Maintaining workspace security
5. **Compliance** - Ensuring proper data handling

### Best Practices for Admins

1. **Limit admin access** - Only promote trusted team members
2. **Regular audits** - Review team access quarterly
3. **Monitor activity** - Check activity logs for unusual behavior
4. **Secure account** - Use strong password and 2FA
5. **Document decisions** - Keep notes on important changes

## Member Role

### Permissions

Members have standard access to core features:

**Vendor Management:**

* View all vendors
* Add and edit vendors
* Upload documents
* Add comments and notes
* Tag and categorize vendors

**Negotiations:**

* View all negotiations
* Start new negotiations
* Assign negotiations to themselves
* Collaborate on negotiations
* Track negotiation outcomes

**Analytics:**

* View team-wide analytics (aggregated)
* View their own usage data
* Export their own reports
* See vendor spending
* View optimization insights

**Personal Settings:**

* Update their profile
* Configure their notifications
* Manage their browser extension
* Set their preferences
* View their activity

### Restrictions

Members cannot:

* ❌ Invite or remove team members
* ❌ Change user roles
* ❌ View billing information
* ❌ Manage subscription
* ❌ Connect or disconnect integrations
* ❌ Delete vendors or negotiations
* ❌ Edit workspace settings
* ❌ View other users' individual usage (unless anonymous mode is off)

### Best Practices for Members

1. **Stay active** - Regularly use Porcia to track vendors
2. **Collaborate** - Add comments and notes for team
3. **Report issues** - Flag problems to admins
4. **Follow guidelines** - Adhere to workspace policies
5. **Protect data** - Don't share sensitive information

## Changing Roles

### Promoting to Admin

To promote a Member to Admin:

<Steps>
  <Step title="Go to Team Settings">
    Navigate to **Settings → Team**
  </Step>

  <Step title="Find Team Member">
    Locate the member you want to promote
  </Step>

  <Step title="Change Role">
    Click the **Role** dropdown and select **Admin**
  </Step>

  <Step title="Confirm Change">
    Confirm the role change in the dialog
  </Step>
</Steps>

**What happens:**

* Member immediately gains admin permissions
* They can now access billing and team management
* They receive a notification about the role change
* Activity is logged in audit trail

<Warning>
  Only promote trusted team members to Admin. Admins have full access to billing, team management, and can remove other team members.
</Warning>

### Demoting to Member

To demote an Admin to Member:

<Steps>
  <Step title="Go to Team Settings">
    Navigate to **Settings → Team**
  </Step>

  <Step title="Find Admin">
    Locate the admin you want to demote
  </Step>

  <Step title="Change Role">
    Click the **Role** dropdown and select **Member**
  </Step>

  <Step title="Confirm Change">
    Confirm the role change in the dialog
  </Step>
</Steps>

**What happens:**

* Admin loses admin permissions immediately
* They can no longer access billing or team management
* They retain access to core features
* Activity is logged in audit trail

<Info>
  You cannot demote yourself if you're the only admin. Promote another team member to admin first.
</Info>

## Permission Scenarios

### Scenario 1: New Team Member

**Situation:** Hiring a new employee who needs access to Porcia

**Recommended approach:**

1. Invite as **Member** initially
2. Let them get familiar with the platform
3. Promote to **Admin** after 30 days if needed
4. Provide training on their role and responsibilities

### Scenario 2: Contractor or Consultant

**Situation:** External consultant needs temporary access

**Recommended approach:**

1. Invite as **Member** only
2. Limit their access duration
3. Remove when project is complete
4. Never promote contractors to Admin

### Scenario 3: Department Lead

**Situation:** Department lead needs to manage their team's vendors

**Recommended approach:**

1. Invite as **Member** initially
2. They can manage vendors for their department
3. Promote to **Admin** if they need to invite their team
4. Consider creating separate workspace for department (Enterprise)

### Scenario 4: Finance Team Member

**Situation:** Finance team needs to view spending but not manage vendors

**Recommended approach:**

1. Invite as **Member**
2. They can view all vendor spending
3. They can export reports
4. They cannot modify vendor data
5. Promote to **Admin** if they need billing access

## Security Considerations

### Admin Security

**Protect admin accounts:**

* Use strong, unique passwords
* Enable two-factor authentication (2FA)
* Don't share admin credentials
* Log out when not in use
* Review admin activity regularly

**Admin account compromise:**
If an admin account is compromised:

1. Immediately change password
2. Review recent activity
3. Check for unauthorized changes
4. Remove suspicious team members
5. Contact support if needed

### Member Security

**Protect member accounts:**

* Use strong passwords
* Enable 2FA
* Don't share credentials
* Report suspicious activity
* Keep browser extension updated

**Member account compromise:**
If a member account is compromised:

1. Admin should immediately remove the member
2. Change password if account is recovered
3. Review activity for unauthorized actions
4. Re-invite member with new credentials

## Audit Trail

### Activity Logging

All role-related actions are logged:

**Logged events:**

* Role changes (promotions/demotions)
* Team member additions/removals
* Permission changes
* Billing changes (admin only)
* Integration changes (admin only)

**View audit log:**

1. Go to **Settings → Security → Audit Log** (Admin only)
2. Filter by event type, user, or date
3. Export audit log if needed

### Compliance

Audit logs help with:

* Security investigations
* Compliance audits
* Access reviews
* Incident response
* Policy enforcement

## Future Roles (Coming Soon)

Porcia is planning additional roles:

**Viewer Role:**

* Read-only access to vendors and analytics
* Cannot edit or add data
* Useful for executives or stakeholders

**Billing Admin:**

* Access to billing only
* Cannot manage team or vendors
* Useful for finance team members

**Custom Roles:**

* Define custom permission sets
* Assign to specific team members
* Enterprise plan feature

## Best Practices

### Role Assignment

1. **Start restrictive** - Begin with Member role, promote as needed
2. **Regular reviews** - Audit roles quarterly
3. **Principle of least privilege** - Give minimum access needed
4. **Document decisions** - Keep notes on why roles were assigned
5. **Train users** - Ensure users understand their permissions

### Role Management

1. **Limit admins** - Keep admin count low (2-3 for most teams)
2. **Backup admin** - Always have at least 2 admins
3. **Offboarding** - Remove access immediately when someone leaves
4. **Role rotation** - Consider rotating admin duties
5. **Emergency access** - Have a plan for admin account recovery

### Security

1. **Enable 2FA** - Require for all admins
2. **Strong passwords** - Enforce password policies
3. **Regular audits** - Review access logs monthly
4. **Incident response** - Have a plan for compromised accounts
5. **Training** - Educate team on security best practices

## Troubleshooting

### Can't Perform Action

If a team member can't perform an action:

1. **Check their role** - Verify they have the right permissions
2. **Review restrictions** - Some actions are admin-only
3. **Check workspace status** - Ensure subscription is active
4. **Clear cache** - Try logging out and back in
5. **Contact admin** - Request role change if needed

### Role Change Not Working

If you can't change someone's role:

1. **Verify you're an admin** - Only admins can change roles
2. **Check if last admin** - Can't demote yourself if you're the only admin
3. **Refresh page** - Try reloading the page
4. **Check permissions** - Ensure you have team management access
5. **Contact support** - If issue persists

## Next Steps

<CardGroup cols={2}>
  <Card title="Team Management" icon="users" href="/workspace/team-management">
    Learn how to manage your team
  </Card>

  <Card title="Workspace Settings" icon="gear" href="/workspace/settings">
    Configure workspace preferences
  </Card>

  <Card title="Billing Management" icon="credit-card" href="/billing/subscription">
    Manage subscription and billing
  </Card>
</CardGroup>
