User Permissions in Velveteen
Updated June 11, 2026
Entity permissions in Velveteen control what a user can do with a specific artist, label, release, track, person, publishing house, or pitch. Each entity has its own permissions table with three roles: viewer (read only), editor (read and write), and admin (read, write, and manage access). You can grant different roles on different entities to the same user.
Every entity in Velveteen that a user can own or share has a corresponding permissions table. Access is explicit and scoped: you do not get access to any entity unless you created it, were granted access by someone who has it, or are a Velveteen admin.
What each role can do
The three roles apply consistently across all entity types. This table shows what each role permits on any given entity:
| Action | Viewer | Editor | Admin |
|---|---|---|---|
| View entity and metadata | Yes | Yes | Yes |
| Edit metadata | No | Yes | Yes |
| Upload files (audio, artwork) | No | Yes | Yes |
| Submit for review | No | Yes | Yes |
| Manage access (add/remove users) | No | No | Yes |
viewer
Read-only access. Can see the entity and its metadata in the dashboard, but cannot make changes or submit it for review.
editor
Full read and write access. Can modify metadata, upload files, and submit the entity through its workflow states.
admin
Everything an editor can do, plus the ability to add, change, or remove other users' access to that entity.
Which entities have permissions
The following entity types support per-user permissions in Velveteen:
Artists
artist_permissions: who can edit artist metadata, submit for approval, and manage trust declarations.
Labels
label_permissions: who can manage the label's releases and invite label members.
Releases
release_permissions: who can edit release metadata, attach tracks, and submit for distribution.
Tracks
track_permissions: who can edit track metadata, manage audio, and update shareholder splits.
People
person_permissions: who can edit a person record's identifiers and credits links.
Publishing houses
publishing_house_permissions: who can edit publishing house metadata and link it to tracks.
Pitches
pitch_permissions: who can edit pitch copy and submit it for review. Manageable through the Velveteen MCP API only, not through the UI dialog.
Tip
Permissions are scoped, not inherited
Having editor access on a release does not grant access to the artist on that release, the tracks on the release, or any pitches linked to it. Each entity type is independent. This scoping is intentional: you can share a specific release with a mixing engineer without giving them access to your full artist profile or other releases.
Frequently asked questions
Does a user need permission to see my releases?+
Yes. A user only sees releases they have a permissions row for, unless they are a label member with access to that label's releases, or a Velveteen platform admin. Permissions are scoped: a release editor cannot automatically see your artist profile.
Can I make someone an editor on a track but viewer on the artist?+
Yes. Permissions are per entity. You can grant editor access on a specific track and viewer access on the artist profile independently. There is no inheritance between entity types.
What is the difference between viewer, editor, and admin?+
Viewer: read-only access to the entity. Editor: can modify metadata, manage files, and submit items for review. Admin: everything an editor can do, plus the ability to add, change, or remove other users' access to that entity.
Do I need to grant permissions on each release separately?+
Yes, unless you add the user as a label member instead. Label membership covers everything under that label based on the member's role, without requiring per-release grants.
What happens to permissions if I delete an entity?+
Permissions rows referencing a deleted entity are removed by cascade. There is no need to clean them up manually.
Related articles
What is a user?
Your account: email, profile, and global role (user or admin). Separate from artist profiles and Person credits records.
Inviting collaborators
How to share access to entities with other users, and how to remove it.
Label users
The label_members system: roles for artists, staff, managers, and label admins under a single label account.