Skip to main content

Permissions

Wayd answers "may this user do this?" with two independent checks. Most of the application uses only the first; Project Portfolio Management and the sprint lifecycle use both.

  1. Permission claims — granted through roles. These decide whether a user can reach a feature at all.
  2. Membership of the record — whether the user belongs to the record being changed. In PPM that is delivery leadership: a permission claim alone is not enough to change a project, program, or portfolio. For a sprint it is team membership.

Both must pass. Holding Permissions.Projects.Update lets you reach the project edit endpoints; being a project Owner decides which projects you may change.

Permission claims​

Permissions are named Permissions.{Resource}.{Action} and follow a consistent pattern:

ActionMeaning
ViewRead entities
CreateCreate new entities
UpdateModify existing entities
DeleteRemove entities
ImportBulk-load entities from a file
RunTrigger an operation — for example running or requeuing a background job
ManageCreate, update and delete in one permission — used for planning interval objectives
Search / ExportSearch or export users
AdministerDomain-wide administrative standing (see PPM Administrator)

Some resources add specific actions — Permissions.Projects.ManageProjectWorkItems and Permissions.Teams.ManageTeamMemberships.

The server checks a user's permissions against their current roles on every request, so a role or permission change applies to what they can do straight away. The menus and buttons the app shows are decided by the permissions carried in the user's sign-in token, so they catch up on the user's next token refresh.

Permission catalogue​

Every permission Wayd defines, as Settings → Access → Roles groups them. The seeded Admin role holds all of them.

CategoryResourcePermissions
ApplicationScoringModelsView, Create, Update, Delete
ApplicationStatusWorkflowsView, Create, Update, Delete
ApplicationFeatureFlagsView, Create, Update, Delete
ApplicationSystemSettingsView, Update
Background JobsHangfireView — the Hangfire Dashboard
Background JobsBackgroundJobsView, Create, Run, Delete
MessagingMessagingView, Run (replay dead letters), Delete (discard dead letters)
ImportsImportsView — every import, read-only (see Imports)
IdentityUsersView, Search, Create, Update, Delete, Export
IdentityUserRolesView, Update
IdentityRolesView, Create, Update, Delete
IdentityRoleClaimsView, Update
IdentityPermissionsView
IdentityOidcProvidersView, Create, Update, Delete
IntegrationsConnectionsView, Create, Update, Delete
IntegrationsConnectorsView
HealthHealthChecksView, Create, Update
LinksLinksView, Create, Update, Delete
OrganizationEmployeesView, Create, Update, Delete, Import
OrganizationEmployeeTimeAwayAdminister (see Time away)
OrganizationTeamsView, Create, Update, Administer, ManageTeamMemberships, Delete, Import
OrganizationTeamMemberRolesView, Create, Update, Delete
OrganizationHolidayCalendarsView, Create, Update, Delete
PlanningPlanningIntervalsView, Create, Update, Delete, Import
PlanningPlanningIntervalObjectivesView, Manage, Import
PlanningRisksView, Create, Update, Delete, Import
PlanningRoadmapsView, Create, Update, Delete
PlanningPokerSessionsView, Create, Update, Delete
PlanningStoryMapsView, Create, Update, Delete
PlanningEstimationScalesView, Create, Update, Delete
Project Portfolio ManagementProjectPortfolioManagementAdminister (see PPM Administrator)
Project Portfolio ManagementExpenditureCategoriesView, Create, Update, Delete
Project Portfolio ManagementPpmStrategicThemesView
Project Portfolio ManagementProjectPortfoliosView, Create, Update, Delete, Import
Project Portfolio ManagementProgramsView, Create, Update, Delete, Import
Project Portfolio ManagementProjectsView, Create, Update, Delete, Import, ManageProjectWorkItems
Project Portfolio ManagementStrategicInitiativesView, Create, Update, Delete, Import
Project Portfolio ManagementProjectLifecyclesView, Create, Update, Delete
Strategic ManagementStrategicThemesView, Create, Update, Delete, Import
Strategic ManagementStrategiesView, Create, Update, Delete
Strategic ManagementVisionsView, Create, Update, Delete
Work ManagementWorkTypeTiersView
Work ManagementWorkTypeLevelsView, Create, Update, Delete
Work ManagementWorkspacesView, Create, Update, Delete
Work ManagementIterationsView, Update, Administer (see Sprint lifecycle)
Work ManagementWorkItemsView, Create, Update, Delete
Work ManagementWorkProcessesView, Create, Update, Delete
Work ManagementWorkStatusCategoriesView
Work ManagementWorkStatusesView, Create, Update, Delete
Work ManagementWorkTypesView, Create, Update, Delete
Product ManagementProductsView, Create, Update, Delete, Import
Product ManagementProductTypesView, Create, Update, Delete
Product ManagementProductTagCategoriesView, Create, Update, Delete
DeliveryDeliveryView, Create, Update, Delete, Import — versions, release packages and deployments
DeliveryReleasesView, Create, Update, Delete, Import
DeliveryDeploymentEnvironmentsView, Create, Update, Delete, Import
DeliveryDeliveryMetricsView

Each permission is the resource and action joined — the Update action on Projects is Permissions.Projects.Update. Changing a product needs only its permission; there is no membership rule in Product Management.

Delivery leadership in PPM​

Viewing PPM records needs only the View permission. Changing one additionally requires that you lead it.

You lead a record if you hold the Owner or Manager role on it, or on anything above it:

RecordYou may manage it if you are Owner or Manager of…
Projectthe project, or its program, or its portfolio
Programthe program, or its portfolio
Portfoliothe portfolio

Leadership inherits downward: a portfolio Owner leads every program and project inside it, without needing a role on each one.

Sponsors are deliberately excluded

Sponsors fund and oversee work; they don't run delivery. A Sponsor — at any level — cannot change status, edit details, or assign roles. Neither can a project Member, who contributes to the work without leading it.

What the rule covers​

Every operation that changes a project, program, or portfolio:

  • Status transitions — Approve, Activate, Pause, Resume, Complete, Cancel, Close, Archive
  • Editing details — name, description, business case, expected benefits, expenditure category
  • Editing the timeline — start and end dates
  • Assigning roles — adding, removing, or replacing role assignments
  • Project structure — changing a project's key, program, or lifecycle
  • Strategic themes — changing the themes a project or program supports
  • Delivery signals — recording health checks and scores
  • Scoring — assigning or clearing a portfolio's scoring model
  • Ranking — reordering a portfolio's projects

Role assignment is included for a reason: it is the path by which leadership itself is granted. If it were not gated, anyone holding the Update permission could make themselves an Owner and then do everything else.

What it does not cover​

  • Viewing anything — the View permission alone is sufficient.
  • Creating portfolios, programs, and projects — governed by the Create permission. A newly created record has no leadership yet.
  • Deleting — governed by the Delete permission.
  • Bulk imports — governed by the relevant Import permission. Import is an administrative bulk operation, and the records it creates have no leadership at the moment it runs.

PPM Administrator​

Permissions.ProjectPortfolioManagement.Administer grants domain-wide delivery-leadership standing across PPM. A holder is treated as leading every project, program, and portfolio.

It substitutes for membership only. It does not substitute for the permission claim — a PPM administrator still needs Permissions.Projects.Update to change a project. The two checks stay independent.

Grant it to people who administer delivery without sitting in the hierarchy: PMO staff, platform administrators, and anyone who needs to set up or repair portfolios they don't personally lead.

It is required to seed a new portfolio

A portfolio has nothing above it to inherit leadership from, so a brand-new portfolio has no one who can assign its first Owner. A PPM administrator is the only one who can — after which normal leadership takes over.

The seeded Admin role includes this permission.

Sprint lifecycle: team membership​

Starting, completing and reopening a sprint, correcting its actual dates, and changing its team days off or sprint type, needs Permissions.Iterations.Update and membership of the sprint's team, in any role. Members of the team of teams the team belongs to on the day also qualify — only its direct team of teams, not the ones above it.

Permissions.Iterations.Administer waives the membership for every team's sprints, the way the PPM Administrator permission waives leadership. Like it, it never substitutes for the Update permission. The seeded Admin role includes both.

Viewing sprints needs only Permissions.Iterations.View.

Allocations: team membership​

Changing how much of a person's time a team has needs Permissions.Teams.Update and membership of that team, in any role. Members of the team of teams the team belongs to on the day also qualify — only its direct team of teams, not the ones above it. A change that touches several teams, such as moving a person's time from one team to another, needs this for each of them.

Permissions.Teams.Administer waives the membership for every team's allocations. It never substitutes for the Update permission. The seeded Admin role includes both.

Viewing a person's allocations needs only Permissions.Employees.View.

Time away: the person and their managers​

Recording, changing and removing a person's time away needs no permission. It is allowed for:

  • The person, for their own time away
  • Anyone the person reports up to: their manager, their manager's manager, and so on to the top
  • Anyone holding Permissions.EmployeeTimeAway.Administer

The first two come from who you are, so your user account must be linked to an employee. The Administer permission covers everyone else: people with no manager in Wayd, and time away recorded on someone's behalf. The seeded Admin role includes it.

The same people are the only ones shown the reason for a stretch of time away. Everyone who can view the employee (Permissions.Employees.View) sees the days and how much of each, and so does everyone who can see a team's capacity.

Setting the holiday calendar a person takes, or their working day, is not time away: each needs Permissions.Employees.Update. The person and their managers cannot set either without it.

Why an action might be unavailable​

When a PPM or sprint action is missing from a menu or rejected on submit, it is one of:

CauseWhat to do
Missing the permission claimAsk an administrator to grant it via Settings → Access → Roles
Not leading the recordAsk an Owner or Manager of the record — or of its program or portfolio — to assign you a role, or to perform the action
Not on the sprint's teamAsk to be added to the team or its team of teams, or ask a member to perform the action
Not the person or one of their managersA person's time away is recorded by them or by someone they report up to. Ask one of them, or a time away administrator
No linked employee recordPPM and sprint changes are attributed to an employee. Ask an administrator to link your user account to one.
A domain rule blocks itThe action may be invalid for the record's current state — for example, a portfolio cannot close while it still contains open projects

Upgrading to this version​

PPM changes are membership-gated after upgrading. Before this version, any user holding a PPM Update permission could change any project, program, or portfolio — including assigning roles on it.

After upgrading, users who hold the permission but lead nothing will find PPM edit and status actions unavailable. This is deliberate.

To restore access for someone who needs it, either:

  • Assign them an Owner or Manager role on the relevant records — or on a portfolio or program above them, which covers everything beneath; or
  • Grant them Permissions.ProjectPortfolioManagement.Administer if they legitimately administer delivery across the domain.

Members of the seeded Admin role are unaffected — it includes the administrator permission.