---
title: "How account roles work in MangoMap"
description: "Understand the four account roles, how a role and an access group combine, and which actions are limited to the creator or owner."
sidebar:
  label: "How account roles work"
---

Every user in a MangoMap account has exactly one account role: `Viewer`, `Editor`, `Admin`, or `Owner`. The role decides what kinds of actions they can take in principle. Access groups decide which specific maps and datasets each action applies to. Both have to agree before a user can edit, share, or delete anything they didn't create.

This page explains the model. For the full "who can do what" matrix, see [Account roles reference](/docs/account-roles/account-roles-reference).

## The four roles

Roles form an order. Each role includes the rights of the role below it, plus more.
| Role | One-line summary |
| --- | --- |
| `Viewer` | Sees the maps and datasets that have been shared with them. Cannot edit anything. |
| `Editor` | Sees and edits the data behind any map or dataset shared with them through a group with `Edit` access. Cannot edit map configuration; cannot create new maps or datasets. |
| `Admin` | Everything `Editor` can do, plus: edit map configuration, create new maps and datasets, import data, and delete datasets shared with them through a group with `Edit` access. Cannot delete a map they didn't create, manage the team, customise the account, or change billing. |
| `Owner` | Everything `Admin` can do, plus: invite, update, and remove users; create, edit, and delete access groups; customise the account; manage subscription and billing. There is one owner per account. |

The hierarchy is `Viewer < Editor < Admin < Owner`.

## Two checks: role and group

For most actions, MangoMap checks two questions:

1. **Does the user's role allow this kind of action?** This is the category-level check. `Viewer` can never edit; `Editor` can edit but not configure; `Admin` can do almost anything except owner-only tasks.
2. **Does the user have the right access on this specific map or dataset?** This is the item-level check. A user gets item access by being in an access group that has `View` or `Edit` enabled for the map or dataset, or by being its creator, or by being the account owner.

Both checks must pass. An `Editor` who is not in any group with `Edit` access to a particular dataset cannot edit that dataset, even though the role allows editing in principle. A `Viewer` in a group with `Edit` access to a dataset still cannot edit it, because the role rules out editing.

The role only matters for actions that change something. View access doesn't depend on the role: anyone in a group with `View` access can see the map or dataset, no matter their role.

Deleting is stricter than editing. Only the creator or the account owner can delete a map. To delete a dataset that they didn't create, a user needs the `Admin` role and a group with `Edit` access.

To check what one user can do with one map or dataset, follow the questions in order:

<!-- diagram:edit-delete-rights-flow -->
<svg class="dark:hidden" style="width: 100%; height: auto" viewBox="0 0 640 728" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="edit-delete-rights-flow-inline-title edit-delete-rights-flow-inline-desc">
  <title id="edit-delete-rights-flow-inline-title">Can this user edit or delete it?</title>
  <desc id="edit-delete-rights-flow-inline-desc">Flowchart: the creator and the account owner can always edit and delete; anyone else needs the Admin role for a map or the Editor role for a dataset, and a group with Edit access, to edit it; then only the creator or the owner can delete a map, and only an Admin can delete a dataset.</desc>
  <defs>
    <marker id="edit-delete-rights-flow-inline-arrow" markerWidth="8" markerHeight="6" refX="7" refY="3" orient="auto"><polygon points="0 0, 8 3, 0 6" fill="#525252"/></marker>
    <marker id="edit-delete-rights-flow-inline-arrow-accent" markerWidth="8" markerHeight="6" refX="7" refY="3" orient="auto"><polygon points="0 0, 8 3, 0 6" fill="#c4360c"/></marker>
  </defs>
  <rect width="100%" height="100%" fill="#f5f5f5"/>
  <path d="M192 60 L192 86" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#edit-delete-rights-flow-inline-arrow)"/>
  <path d="M316 136 L358 136" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#edit-delete-rights-flow-inline-arrow)"/>
  <path d="M328 280 L358 280" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#edit-delete-rights-flow-inline-arrow)"/>
  <path d="M316 424 L484 424 Q492 424 492 416 L492 318" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#edit-delete-rights-flow-inline-arrow)"/>
  <path d="M316 560 L358 560" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#edit-delete-rights-flow-inline-arrow)"/>
  <path d="M192 184 L192 222" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#edit-delete-rights-flow-inline-arrow)"/>
  <path d="M192 336 L192 374" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#edit-delete-rights-flow-inline-arrow)"/>
  <path d="M192 472 L192 510" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#edit-delete-rights-flow-inline-arrow)"/>
  <path d="M192 608 L192 638" fill="none" stroke="#525252" stroke-width="1.2" marker-end="url(#edit-delete-rights-flow-inline-arrow)"/>
  <rect x="318" y="112" width="34" height="16" rx="2" fill="#f5f5f5"/><text x="335" y="124" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">YES</text>
  <rect x="330" y="256" width="26" height="16" rx="2" fill="#f5f5f5"/><text x="343" y="268" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">NO</text>
  <rect x="391" y="400" width="26" height="16" rx="2" fill="#f5f5f5"/><text x="404" y="412" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">NO</text>
  <rect x="318" y="536" width="38" height="16" rx="2" fill="#f5f5f5"/><text x="337" y="548" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">MAP</text>
  <rect x="200" y="195" width="26" height="16" rx="2" fill="#f5f5f5"/><text x="213" y="207" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">NO</text>
  <rect x="200" y="347" width="34" height="16" rx="2" fill="#f5f5f5"/><text x="217" y="359" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">YES</text>
  <rect x="200" y="483" width="34" height="16" rx="2" fill="#f5f5f5"/><text x="217" y="495" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">YES</text>
  <rect x="200" y="619" width="72" height="16" rx="2" fill="#f5f5f5"/><text x="236" y="631" fill="#525252" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">DATASET</text>
  <rect x="66" y="16" width="252" height="44" rx="20" fill="rgba(23,23,23,0.04)" stroke="rgba(23,23,23,0.32)" stroke-width="1"/>
  <text x="192" y="43" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Edit or delete a map or dataset</text>
  <polygon points="192,88 316,136 192,184 68,136" fill="#ffffff" stroke="#171717" stroke-width="1"/><text x="192" y="131" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Created it, or the</text><text x="192" y="149" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">account owner?</text>
  <polygon points="192,224 328,280 192,336 56,280" fill="rgba(196,54,12,0.08)" stroke="#c4360c" stroke-width="1.4"/><text x="192" y="266" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Role at least</text><text x="192" y="284" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Admin for a map,</text><text x="192" y="302" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Editor for a dataset?</text>
  <polygon points="192,376 316,424 192,472 68,424" fill="#ffffff" stroke="#171717" stroke-width="1"/><text x="192" y="419" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">In a group with</text><text x="192" y="437" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Edit access?</text>
  <polygon points="192,512 316,560 192,608 68,560" fill="#ffffff" stroke="#171717" stroke-width="1"/><text x="192" y="555" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">A map or</text><text x="192" y="573" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">a dataset?</text>
  <rect x="360" y="100" width="264" height="72" rx="20" fill="rgba(23,23,23,0.04)" stroke="rgba(23,23,23,0.32)" stroke-width="1"/><text x="492" y="122" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Can edit and delete</text><text x="492" y="142" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">role and groups don’t matter</text><text x="492" y="158" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">for the creator or the owner</text>
  <rect x="360" y="244" width="264" height="72" rx="20" fill="rgba(23,23,23,0.04)" stroke="rgba(23,23,23,0.32)" stroke-width="1"/><text x="492" y="266" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Can’t edit or delete</text><text x="492" y="286" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">needs both the role and</text><text x="492" y="302" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">a group with Edit access</text>
  <rect x="360" y="524" width="264" height="72" rx="20" fill="rgba(23,23,23,0.04)" stroke="rgba(23,23,23,0.32)" stroke-width="1"/><text x="492" y="546" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Can edit, can’t delete</text><text x="492" y="566" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">only the creator or the owner</text><text x="492" y="582" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">can delete a map</text>
  <rect x="62" y="640" width="260" height="72" rx="20" fill="rgba(23,23,23,0.04)" stroke="rgba(23,23,23,0.32)" stroke-width="1"/><text x="192" y="662" fill="#171717" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Can edit the dataset</text><text x="192" y="682" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">an Admin can also delete it;</text><text x="192" y="698" fill="#525252" font-size="12" font-family="inherit" text-anchor="middle">an Editor can’t</text>
</svg>
<svg class="hidden dark:block" style="width: 100%; height: auto" viewBox="0 0 640 728" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="edit-delete-rights-flow-inline-dark-title edit-delete-rights-flow-inline-dark-desc">
  <title id="edit-delete-rights-flow-inline-dark-title">Can this user edit or delete it?</title>
  <desc id="edit-delete-rights-flow-inline-dark-desc">Flowchart: the creator and the account owner can always edit and delete; anyone else needs the Admin role for a map or the Editor role for a dataset, and a group with Edit access, to edit it; then only the creator or the owner can delete a map, and only an Admin can delete a dataset.</desc>
  <defs>
    <marker id="edit-delete-rights-flow-inline-dark-arrow" markerWidth="8" markerHeight="6" refX="7" refY="3" orient="auto"><polygon points="0 0, 8 3, 0 6" fill="#a3a3a3"/></marker>
    <marker id="edit-delete-rights-flow-inline-dark-arrow-accent" markerWidth="8" markerHeight="6" refX="7" refY="3" orient="auto"><polygon points="0 0, 8 3, 0 6" fill="#ff7a4d"/></marker>
  </defs>
  <rect width="100%" height="100%" fill="#141414"/>
  <path d="M192 60 L192 86" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#edit-delete-rights-flow-inline-dark-arrow)"/>
  <path d="M316 136 L358 136" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#edit-delete-rights-flow-inline-dark-arrow)"/>
  <path d="M328 280 L358 280" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#edit-delete-rights-flow-inline-dark-arrow)"/>
  <path d="M316 424 L484 424 Q492 424 492 416 L492 318" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#edit-delete-rights-flow-inline-dark-arrow)"/>
  <path d="M316 560 L358 560" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#edit-delete-rights-flow-inline-dark-arrow)"/>
  <path d="M192 184 L192 222" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#edit-delete-rights-flow-inline-dark-arrow)"/>
  <path d="M192 336 L192 374" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#edit-delete-rights-flow-inline-dark-arrow)"/>
  <path d="M192 472 L192 510" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#edit-delete-rights-flow-inline-dark-arrow)"/>
  <path d="M192 608 L192 638" fill="none" stroke="#a3a3a3" stroke-width="1.2" marker-end="url(#edit-delete-rights-flow-inline-dark-arrow)"/>
  <rect x="318" y="112" width="34" height="16" rx="2" fill="#141414"/><text x="335" y="124" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">YES</text>
  <rect x="330" y="256" width="26" height="16" rx="2" fill="#141414"/><text x="343" y="268" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">NO</text>
  <rect x="391" y="400" width="26" height="16" rx="2" fill="#141414"/><text x="404" y="412" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">NO</text>
  <rect x="318" y="536" width="38" height="16" rx="2" fill="#141414"/><text x="337" y="548" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">MAP</text>
  <rect x="200" y="195" width="26" height="16" rx="2" fill="#141414"/><text x="213" y="207" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">NO</text>
  <rect x="200" y="347" width="34" height="16" rx="2" fill="#141414"/><text x="217" y="359" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">YES</text>
  <rect x="200" y="483" width="34" height="16" rx="2" fill="#141414"/><text x="217" y="495" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">YES</text>
  <rect x="200" y="619" width="72" height="16" rx="2" fill="#141414"/><text x="236" y="631" fill="#a3a3a3" font-size="10" font-weight="600" letter-spacing="0.1em" font-family="inherit" text-anchor="middle">DATASET</text>
  <rect x="66" y="16" width="252" height="44" rx="20" fill="rgba(242,242,242,0.05)" stroke="rgba(242,242,242,0.34)" stroke-width="1"/>
  <text x="192" y="43" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Edit or delete a map or dataset</text>
  <polygon points="192,88 316,136 192,184 68,136" fill="#1c1c1c" stroke="#f2f2f2" stroke-width="1"/><text x="192" y="131" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Created it, or the</text><text x="192" y="149" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">account owner?</text>
  <polygon points="192,224 328,280 192,336 56,280" fill="rgba(255,122,77,0.10)" stroke="#ff7a4d" stroke-width="1.4"/><text x="192" y="266" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Role at least</text><text x="192" y="284" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Admin for a map,</text><text x="192" y="302" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Editor for a dataset?</text>
  <polygon points="192,376 316,424 192,472 68,424" fill="#1c1c1c" stroke="#f2f2f2" stroke-width="1"/><text x="192" y="419" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">In a group with</text><text x="192" y="437" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Edit access?</text>
  <polygon points="192,512 316,560 192,608 68,560" fill="#1c1c1c" stroke="#f2f2f2" stroke-width="1"/><text x="192" y="555" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">A map or</text><text x="192" y="573" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">a dataset?</text>
  <rect x="360" y="100" width="264" height="72" rx="20" fill="rgba(242,242,242,0.05)" stroke="rgba(242,242,242,0.34)" stroke-width="1"/><text x="492" y="122" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Can edit and delete</text><text x="492" y="142" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">role and groups don’t matter</text><text x="492" y="158" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">for the creator or the owner</text>
  <rect x="360" y="244" width="264" height="72" rx="20" fill="rgba(242,242,242,0.05)" stroke="rgba(242,242,242,0.34)" stroke-width="1"/><text x="492" y="266" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Can’t edit or delete</text><text x="492" y="286" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">needs both the role and</text><text x="492" y="302" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">a group with Edit access</text>
  <rect x="360" y="524" width="264" height="72" rx="20" fill="rgba(242,242,242,0.05)" stroke="rgba(242,242,242,0.34)" stroke-width="1"/><text x="492" y="546" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Can edit, can’t delete</text><text x="492" y="566" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">only the creator or the owner</text><text x="492" y="582" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">can delete a map</text>
  <rect x="62" y="640" width="260" height="72" rx="20" fill="rgba(242,242,242,0.05)" stroke="rgba(242,242,242,0.34)" stroke-width="1"/><text x="192" y="662" fill="#f2f2f2" font-size="14" font-weight="600" font-family="inherit" text-anchor="middle">Can edit the dataset</text><text x="192" y="682" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">an Admin can also delete it;</text><text x="192" y="698" fill="#a3a3a3" font-size="12" font-family="inherit" text-anchor="middle">an Editor can’t</text>
</svg>
<!-- /diagram:edit-delete-rights-flow -->

## The creator override

The user who created a map or dataset always has full rights to it. Creating an item gives the creator all four actions (view, edit, share, delete) on that one item, regardless of their role or which groups they are in.

The creator override only applies to the specific item the user created — it does not promote them across the account or change their role.

## The owner override

The account owner has full rights to everything in the account. Every map, every dataset, every action — view, edit, share, delete. Only the owner can open the team, customisation, and subscription pages.

There is one owner per account. The role cannot be transferred from any in-product surface; the team invite and update forms do not list `Owner` as a choice. Those forms offer `Admin`, `Editor`, and `Viewer`. If you need to transfer ownership, ask support.

## Why editing a map needs `Admin` but editing a dataset needs only `Editor`

The two actions affect different things:

- Editing a **dataset** changes the underlying data — feature attributes, geometry, the file behind the dataset, sync settings. This is content work that an `Editor` is expected to do day-to-day.
- Editing a **map** changes how that data is presented — layer order, styles, popups, basemap, configuration, extensions. Map settings affect everyone who can view the map, including the public. The `Admin` threshold makes map configuration an admin-level decision.

This means an `Editor` in a group with `Edit` access on both a map and a dataset can edit the dataset's content but cannot rearrange or restyle the map that uses it. To grant both abilities, raise the user to `Admin`.

## Why team, customisation, and subscription are owner-only

The team page, the customisation menu, and the subscription and billing pages are restricted to the account owner. These surfaces don't have item-level group access — they're account-wide settings. Only the owner can change billing, add users, or change the account's public settings.

`Admin` users can do almost everything else MangoMap offers. They can create maps and datasets, edit and delete datasets shared with them through a group with `Edit` access, and edit maps shared the same way. Only the creator or the owner can delete a map. But they cannot invite a teammate, change a colour, or update a billing card.

## Roles vs. seats

Each role consumes a seat on your subscription differently. `Admin` and `Editor` count toward paid seats; `Viewer` does not. Inviting a user as `Viewer` is the no-cost option when someone only needs to read.

See [Users page](/docs/managing-team/users-page-reference) for the form layout and [How to invite a user](/docs/managing-team/invite-a-user) for the workflow.

## Related

- [Account roles reference](/docs/account-roles/account-roles-reference)
- [How team management and account roles work in MangoMap](/docs/managing-team/concepts-team-and-roles)
- [How map access works in MangoMap](/docs/map-access/concepts-map-access)
- [How dataset access works in MangoMap](/docs/dataset-access/concepts-dataset-access)
- [How customisation works in MangoMap](/docs/customisation/concepts-customisation)
