Sharing and Permissions

Tanda provides a powerful sharing system that allows you to collaborate with external users while maintaining security and control over your resources.

Overview

The sharing system enables you to:

  • Invite external collaborators to specific projects or SOWs
  • Grant different levels of access based on user roles
  • Maintain privacy by only sharing specific resources
  • Track all access changes for compliance

Access Levels

Tanda supports five different access levels, each with specific permissions:

Owner

  • Full control over the resource
  • Can delete the resource
  • Can manage all team members
  • Can transfer ownership
  • Can change any settings

Editor

  • Can edit all content
  • Can add and remove team members (except owners)
  • Can create and modify sub-resources
  • Cannot delete the resource
  • Cannot transfer ownership

Approver

  • Can approve or reject changes
  • Can add comments and feedback
  • Can view all content
  • Receives notifications about updates
  • Cannot edit content directly

Viewer

  • Can view all content
  • Can add comments
  • Can download and export
  • Receives notifications about major updates
  • Cannot make any changes

Follower

  • Receives notifications about changes
  • Can view public information
  • Has limited access to content
  • Useful for stakeholders who need updates

Inviting Collaborators

From a Project

  1. Navigate to your project
  2. Click on the "Access" tab
  3. Click "Invite People"
  4. Enter the email address of the person you want to invite
  5. Select their access level
  6. Optionally add a personal message
  7. Click "Send Invitation"

From a SOW

  1. Open your Statement of Work
  2. Click on the "Access" tab
  3. Click "Invite People"
  4. Enter the email address
  5. Choose the appropriate access level
  6. Add an optional message
  7. Send the invitation

Invitation Options

When inviting someone to a project, you can choose to:

  • Grant access to all SOWs - The invited user will automatically have access to all current and future SOWs in the project
  • Project only - The user will only have access to the project level, not individual SOWs

Accepting Invitations

For New Users

  1. Click the invitation link in the email
  2. You'll see details about what you're being invited to
  3. Click "Create new account"
  4. Sign up with the email address that received the invitation
  5. You'll be automatically redirected back to accept the invitation
  6. Click "Accept Invitation" to gain access

For Existing Users

  1. Click the invitation link in the email
  2. Sign in with your existing account
  3. The system will verify your email matches the invitation
  4. Click "Accept Invitation" to gain access
  5. The resource will appear in your dashboard

Managing Access

Viewing Current Access

In the "Access" tab of any project or SOW, you can see:

  • All users who have access
  • Their current access level
  • Who granted them access and when
  • Any expiration dates

Changing Access Levels

  1. Find the user in the access list
  2. Click on their current access level dropdown
  3. Select the new access level
  4. The change takes effect immediately

Revoking Access

  1. Find the user in the access list
  2. Click the trash icon next to their name
  3. Confirm the removal
  4. The user will immediately lose access

Resending Invitations

If someone didn't receive their invitation:

  1. Find the pending invitation in the access list
  2. Click the refresh icon
  3. A new email will be sent

Shared Resources View

Resources that have been shared with you appear in the "Shared with me" section of your dashboard. This includes:

  • Projects and SOWs from outside your organization
  • Resources where you're not the owner
  • Clear indication of your access level

Security Considerations

Email Verification

  • Users must sign in with the exact email address that received the invitation
  • This ensures invitations can't be forwarded to unauthorized users

Organization Isolation

  • Sharing a specific resource doesn't grant access to other resources in the organization
  • Each invitation is resource-specific

Audit Trail

  • All access changes are logged
  • You can track who granted access, when, and what changes were made
  • Useful for compliance and security reviews

Access Inheritance

  • Project-level access can optionally cascade to all SOWs
  • SOW access doesn't grant project access
  • Inheritance can be controlled per invitation

Best Practices

  1. Use appropriate access levels - Grant only the permissions needed
  2. Add context with messages - Include why you're inviting someone
  3. Review access regularly - Remove access when no longer needed
  4. Set expiration dates - For temporary collaborations
  5. Document access decisions - Use the audit trail for compliance

Troubleshooting

Invitation Not Received

  • Check spam folder
  • Verify the email address is correct
  • Use the resend function
  • Check if the user already has an account with a different email

Can't Accept Invitation

  • Ensure you're signing in with the invited email
  • Check if the invitation has expired
  • Verify you're not already signed in with a different account

Missing Shared Resources

  • Refresh your dashboard
  • Check the "Shared with me" section
  • Ensure you've accepted the invitation
  • Contact the resource owner if issues persist

API Integration

Developers can integrate sharing functionality using our API:

// Invite a user to a SOW
const response = await fetch('/api/sow/{sowId}/invitations', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer YOUR_API_TOKEN'
  },
  body: JSON.stringify({
    email: 'collaborator@example.com',
    accessLevel: 'editor',
    message: 'Please review this SOW draft',
    expiresAt: '2024-12-31T23:59:59Z'
  })
});

See the API documentation for complete details on programmatic access management.

Was this page helpful?