Skip to content

Roles and Permissions

ShadowMap controls who can see and change what through two layers: a role that sets each member's baseline access, and an optional per-module permission matrix plus data restrictions that fine-tune it. This page explains the model so you can grant the least privilege each person needs.

Overview

ShadowMap dashboard

A member's role and permissions decide which of these modules they can open and whether they can act on findings. Roles are administered from Settings → Members.

Every person in your organization is a member with exactly one role. The role determines:

  • Which modules they can open (their navigation is filtered to permitted modules).
  • Whether they can only read findings, or also write — change statuses, assign owners, apply tags, request takedowns, and manage settings.
  • Which members they can invite, edit, suspend, remove, or re-role.

On top of the role, an Administrator can override access per module (grant or revoke individual Read/Write permissions) and apply data restrictions that limit a member to a filtered slice of findings. Members can also be grouped into Teams for assignment and organization.

Roles and permissions are managed under Settings → Members and Settings → Teams. See Members and Teams for the administration surfaces; this page covers the model behind them.

How it works

The access model has four moving parts. The first three are knowable only by reading them here — the UI shows the controls but not the rules they enforce.

1. The role hierarchy

There are four roles. Each sits at a numeric level, and the level governs who can manage whom and which roles a member is allowed to hand out.

RoleLevelBaseline access
Administrator3Full read and write across every module, plus all of Settings (members, teams, SLAs, integrations, tag rules, audit logs). Manages the organization.
Analyst2Full read and write across the security modules. Cannot manage organization-level settings such as members unless explicitly permitted.
SOC User1Read-only across the dashboard. Can view every finding but cannot change a status, assign, tag, or take action.
Vendor0Scoped access used for third-party / vendor-risk accounts. Limited to the modules a vendor is meant to see.

The level is what makes the hierarchy enforceable:

  • You can only manage members at or below your own level. On a member's detail page, the permission matrix is editable only when your role level is greater than or equal to theirs. An Analyst cannot edit an Administrator; a SOC User cannot edit anyone.
  • You can only assign roles at or below your level. This is enforced server-side and reflected in the UI — the role dropdown for a member shows only the roles you are allowed to grant, plus that member's current role (always visible so you can see it).
    • SOC User — cannot assign any role.
    • Analyst — can assign SOC User only.
    • Administrator — can assign SOC User, Analyst, Administrator, and (for vendor-type accounts) Vendor.
    • Vendor — can assign Vendor only.

Administrators cannot be edited downward by non-admins

An Administrator's permission set is locked in the UI — the "Save Changes" button is disabled and read/write checkboxes are greyed out — because their access is, by definition, the full set. To reduce an Administrator's access, first change their role to Analyst or SOC User, then adjust the matrix.

2. Roles carry a default permission set — changing a role re-syncs it

A role is not just a label. Each role maps to a concrete set of module permissions:

  • Administrator — every module, both :read and :write (the complete superset, including Settings).
  • Analyst — the security modules with read and write: Dashboard, Attack Surface Area, Brand Monitoring, Data Leaks, Dark Web, Threats, Threat Intelligence, Reports, plus the operational settings an analyst needs (tag rules, SLA policies, integrations, cloud sources, vulnerability scan).
  • SOC User — the same broad list of modules but read only (every permission is :read, none are :write). This is why a SOC User sees everything but the action controls — status dropdowns, assignment, takedown buttons — are unavailable to them.
  • Vendor — a narrower module list aimed at vendor self-service.

The important consequence: when you change a member's role, ShadowMap re-syncs their permissions to that role's default set. A member promoted from SOC User to Analyst gains write access to the standard modules; a member moved the other way loses it. Any custom per-module overrides you applied previously are replaced by the new role's defaults, so re-apply overrides after a role change if you still need them.

3. Read vs. Write is the real privilege boundary

Permissions come in pairs per module — a Read and a Write flag, e.g. threat.alerts:read and threat.alerts:write.

  • Read controls whether the module is visible at all. Removing Read for a module hides it from that member's navigation.
  • Write controls whether the member can act inside the module — change a finding's status, assign it to someone, add tags and risk, request a takedown, edit settings records, and so on. Without Write, the module is view-only for that member regardless of role.

The role baseline already encodes this: SOC User gets only :read permissions, which is exactly why the role is described as "read-only access to the Dashboard." Analyst and Administrator get matched :read + :write pairs.

Write cannot be granted to a SOC User from the matrix

In the per-member permission matrix, the Write column is disabled for a SOC User (the checkbox is greyed out with a "You cannot assign write permission to SOC user" tooltip). If you need that person to take action on findings, promote them to Analyst instead of trying to toggle individual write flags.

4. Data restrictions scope a member to a slice of findings

Beyond which modules a member can see, an Administrator can attach data restrictions when inviting or editing a member. A restriction is a saved-search-style query applied to a finding type, so the member only ever sees findings matching that query. Restrictions can be set per type:

Restriction typeLimits the member to a filtered view of
ExposureAttack-surface exposures
AlertAlerts
Stealer LogCompromised-computer / stealer-log records
DiscussionDark-web discussions
Domain SquattingDomain-squatting findings

Each restriction is expressed as a filter query (the same filter builder used elsewhere in the product) and shown as a "Criteria Query Summary." Use this to give, for example, a business-unit analyst visibility into only that unit's domains, or a regional SOC user only their region's alerts. A member can only view or edit another member's restrictions if they outrank them; you cannot view or change your own restrictions.

Module visibility is enforced at the router

Access is not only a backend check. The dashboard's navigation and route guard read each member's granted permissions and redirect away from any section the member lacks Read access to, so a SOC User with no Settings permission cannot reach Settings by typing the URL.

Understanding the data

Roles at a glance

RoleReads findingsActs on findings (write)Manages members & org settingsTypical use
AdministratorYesYesYesSecurity lead / platform owner
AnalystYesYesNo (unless explicitly granted)SOC analyst, triage and remediation
SOC UserYesNoNoMonitoring, reporting, read-only stakeholders
VendorScopedScopedNoThird-party vendor self-service

Member-level access controls

On a member's Access & Permissions tab, the permission matrix groups every module and exposes:

ControlEffect
Per-permission Read checkboxShow/hide that specific module for the member
Per-permission Write checkboxAllow/deny actions in that module
Per-module Read / Write toggleSet Read or Write for every permission in a module group at once
All Read / All WriteSet Read or Write across all modules at once
Module searchJump to and highlight a specific module in the matrix
Save ChangesPersist the matrix for this member (disabled for Administrators)

Managing members

Members are administered from Settings → Members. The member list shows each person's Role, security Score, Security (2FA) status, Last Active time, and Status, with the following lifecycle actions (gated by your own role/permissions):

ActionWho can do itWhat it does
Add MemberMembers with invite permission (Administrators always)Sends a temporary password by email; the member sets their own password and, if enforced, 2FA on first login. Accepts multiple comma-separated emails.
Change role (inline dropdown)Members with update permission, on members at/below their levelRe-roles the member and re-syncs their permission set. You cannot change your own role here.
Suspend / ReactivateMembers with remove permissionSuspend immediately terminates all active sessions and blocks login; reactivate restores access.
RemoveMembers with remove permissionDeletes the member. If they own findings, ShadowMap prompts you to reassign their assets first.
ResendMembers with invite permissionRe-sends credentials to a member who hasn't logged in yet.
LeaveAny member, on their own accountRemoves yourself from the organization; you can no longer log in.
Send 2FA Reminder (bulk)Prompts selected members to enable two-factor authentication.
Suspend (bulk)Members with remove permissionSuspends multiple selected accounts at once.
ExportAdministratorsExports the member list.

When adding a member you choose their role, optionally enforce 2FA, attach data restrictions, and assign them to one or more teams in a single step.

Account hygiene built into the list

The Members page surfaces an org security score, 2FA / SSO adoption, pending first logins, dormant accounts (inactive 30/90 days), and an access-review indicator (members not reviewed in 90+ days). New-location logins are flagged on the row. Use the Activity filters to run periodic access reviews and find stale accounts to suspend.

Teams

Teams group members for organization and assignment. From Settings → Teams an Administrator can create a team and add members to it; the team detail page lists its members and supports adding or removing members and deleting the team. A member can belong to multiple teams, and team membership can be set at invite time. Teams do not, by themselves, grant module access — access still comes from the member's role, permission matrix, and data restrictions.

Common questions

What's the difference between an Analyst and a SOC User? Both can see the same security modules, but a SOC User has read-only access — they cannot change statuses, assign findings, apply tags, or take action. An Analyst has the same module visibility plus write, so they can triage and remediate. Promote a SOC User to Analyst when they need to act, not just observe.

Can I give a SOC User write access to just one module? No. The Write column is disabled for SOC Users in the permission matrix. Write access is granted by moving the person to the Analyst role. You can, however, narrow a SOC User by removing Read on modules they shouldn't see.

Why can't I edit a particular member's permissions? You can only manage members at or below your own role level. If the member is an Administrator (level 3) and you are an Analyst (level 2), their matrix is read-only to you. Administrators also can't have their matrix edited directly — change the role first.

I changed someone's role and my custom permission overrides disappeared. Why? Changing a role re-syncs the member to that role's default permission set, replacing any per-module overrides. Re-apply the overrides on the Access & Permissions tab after the role change.

How do I limit a member to only part of our attack surface? Apply a data restriction. When inviting or editing the member, add a restriction for the relevant type (Exposure, Alert, Stealer Log, Discussion, or Domain Squatting) and define a filter query. The member then sees only findings matching that query.

Who can invite or remove other members? Administrators always can. Other roles can do so only if granted the corresponding user permission (invite/remove), and only against members at or below their level. SOC Users cannot manage other members.

What happens to findings owned by someone I remove? If the member owns assigned findings, removal prompts you to reassign those assets to another member before the account is deleted, so nothing is left orphaned.

Does removing Read access hide the module immediately? Yes. Navigation is filtered to the member's permitted modules and the route guard blocks direct URL access, so a member without Read on a module cannot open it at all.

  • Members — the administration surface for adding, editing, suspending, and re-roling members.
  • Teams — group members for organization and assignment.
  • RBAC and Permissions — the reference list of permission names and the role that holds each.
  • First Login and Key Concepts — onboarding context for new members.
  • Account Security — where each member manages their own password and two-factor authentication.
  • Sessions — active sessions a member can review (and that suspension terminates).
  • Audit Logs — record of administrative actions, including role and permission changes.

ShadowMap - External Attack Surface Management