Permission Groups and updated UI

May 14th, 2024 | Major

This release introduced a new way to determine what actions a team member can perform within your Organization: Permission Groups. CloudCannon's new Default Permission Groups have the same functionality as the "permission levels" you are used to, but they allow us to create the infrastructure for our next feature update: Custom Permissions.

Custom Permission Groups are now available to select Team and Enterprise customers for early access. The official release of Custom Permissions is coming soon. Until then, for more information on these changes, please see the Sharing section of our documentation.

This release updated the appearance and functionality of several pages in the app, including the Team, Client Sharing, and Organization List pages. We've also updated how you invite people to your Organization, manage your team members, and share your Sites.

This release also added features to support custom snippets, and addressed several issues affecting Site Mounting, data bindings, and snippets.

Features & Improvements#

Permission Groups#

  • You now determine what actions a team member can perform within your Organization by assigning them to a Permission Group. Every team member in your Organization must be a member of at least one Group.
  • Each Permission Group contains a set of permissions. CloudCannon will allow an action if a team member has permission from at least one Permission Group.
  • A Permission consists of a list of resources and the scope those resources apply to.
    • A resource is something you can interact with in CloudCannon (e.g., a Site, Pull Requests, Settings, Billing, etc.). Each resource also defines how a Group member can interact with that resource (i.e., the capacity to Read, Write, or Create a resource).
    • Scope defines how broadly a permission is applied (e.g., a permission with a Site scope will only apply to a specific Site, whereas a permission with a Global scope will apply to the entire Organization).
  • CloudCannon provides several Default Permission Groups with the same name and functionality as our old "permission levels". These include:
    • Four Permission Groups with a Global scope (Owners, Developers, Technical Editors, and Editors).
    • Two Permission Groups per Site, each with a Site scope for Site Sharing (Technical Editors and Editors).
    • One Permission Group per Site with a Site scope for Client Sharing.
  • CloudCannon has migrated all your team members into the appropriate Permission Group based on their previous "permission level."
  • CloudCannon will hide UI elements in the app if a team member does not have permission to interact with them (e.g., Billing will not appear in the Org Setting menu for members of the Editors Permission Group).
  • CloudCannon no longer defines the recipient of Site Sharing as a Collaborator or someone from outside your Organization. The recipient of Site Sharing is now a team member of your Organization with permissions for specific Sites rather than Global permissions.

New invitation workflow and UI update for Organization List page#

A screenshot of the Organizations List page shows two pending invitations and one Organization card.
  • When you invite someone to join your Organization, you must select at least one Permission Group to add them to.
  • You can now accept or decline an invitation to join an Organization. If someone declines an invitation to an Organization, members of the Owners Permission Group will be notified via email.
  • The Organization List page shows a list of pending invitations. You can resend or cancel invitations any time before an invitation is accepted.
  • You can now invite multiple people to your Organization simultaneously using the + Add members button on the Team page.

UI update for Team page#

A screenshot of the Team page shows two team members and the + Add members button.
  • The Team page in Org Settings now has two tabs: Members and Groups.
    • The Members tab lists all current team members in your Organization. This list displays each member's name, email address, how many Permission Groups they belong to, and whether they are a pending member. You can click on a team member to open their Team Member page.
    • The Groups tab lists all the Permission Groups within your Organization. This list displays the Group's name and how many members it has. You can click on a Group to open the Group page.
  • Information from the Collaborators tab on the Team page is now a part of the Groups tab. The Groups tab shows any Site Sharing Permission Groups that contain members.
  • The Client Shares tab from the Team page is now a separate page. Please see the Client Sharing page under Org Settings.

Team Member and My permissions pages#

A screenshot of the My Permissions page shows which Permission Groups a team member belongs to and the Leave Organization button.
  • Each team member in your Organization now has a Team Member page. This page lists all the Permission Groups a team member belongs to.
  • The My permissions page lists all the Permission Groups you belong to. This page also includes a button to leave an Organization.

Group page#

A screenshot of the Team page shows two team members and the + Add Groups button.
  • Each Permission Group in your Organization has a Group page with two tabs: Members and Settings. The Members tab lists all Group members. The Settings tab lists all the permissions in that Group. You can click on a permission for more details.

Client Sharing permissions and UI update#

A screenshot of the Client Shares page shows one Site with Client Sharing enabled.
  • The Client Sharing page in Org Settings lists all the Sites in your Organization that have Client Sharing enabled.

Other features and improvements#

  • Client Organizations can now add or remove a payment method for their account.
  • Improved the clarity of the Site Mounting diagram by adding arrows.
  • Added the wrapper parser for custom snippets.
  • Added the format.string_boundary option to the literal parser for custom snippets.
  • The content parser now supports a default value for custom snippets.
  • The output:inline option for snippet now forces multi-line content onto a single line in the Source Editor. Also, added the parse_newline_character option to the content parser to re-parse \n characters.


  • Fixed an issue where Site Mounting settings would not copy to the new Site when branching.
  • Fixed an issue where Site Mounting would cause builds to fail if the Local Site and Remote Site had files with the same path.
  • Fixed an issue where, for Site Mounting, Remote Sites providing source files would include the .git folder.
  • Fixed an issue where data bindings would not work for new components on Next.js Sites.
  • Fixed an issue where the Enable Git LFS checkbox in Site Settings would become unticked after you clicked on the Update Settings button.
  • Fixed an issue where, in some cases, indenting a snippet would cause it to break.
  • Fixed an issue where escaped backticks would break snippets in the Content Editor.
  • Fixed several issues caused by custom snippets containing two consecutive variable-length parsers.
  • Snippet templates and definitions are now always available, even when _snippets_imports is set to false.
  • The MDX import snippet is now more specific to prevent markdown content from unintentionally becoming a snippet.
  • Updated dependencies to patch security vulnerabilities.
Open in a new tab