Skip to main content
To deploy Semgrep Guardian organization-wide, configure each developer’s coding agent to install the plugin automatically. This eliminates the need for developers to install the plugin manually. For individual developer setup, see the Quickstart.

Before you deploy

Each developer still signs in to Semgrep individually once Guardian is installed. Read Authentication first. It covers the OAuth and CLI sign-in models, where credentials are stored, and why shared tokens and service accounts are discouraged for fleet deployments. When developers cannot sign in individually, deploy Guardian with a read-only token. This requires Semgrep Enterprise. For more information, see Deploy with a read-only token.

Prerequisites

  • You have a Semgrep account and organization.
  • You are an admin for your coding agent’s enterprise controls and your MDM platform, if applicable.
  • Claude Code is the recommended setup for organization-wide deployment.

Option 1: Use your agent’s built-in enterprise controls

Many coding agents let you pin an approved marketplace or plugin for your whole team. This is the simplest way to enable Guardian across your organization or make it required.
1

Enable the plugin in your managed settings

Modify your Claude marketplace settings to include Semgrep in your enabled plugins list:
2

Confirm the plugin is connected

Run claude mcp get plugin:semgrep:guardian and confirm it reports as connected.
Guardian is published to the Claude official marketplace (claude-plugins-official), so the payload only needs to enable the plugin. There’s no separate marketplace to declare. See Require marketplaces for your team for more information.

Option 2: Deploy through a mobile device management (MDM) platform

Deploy through your MDM platform to scope the deployment by device group. These templates configure Claude Code only. To deploy Guardian to Cursor, use Option 1.
These are community-maintained templates and may be unsupported or incorrect. You are responsible for verifying the configuration before deploying it to a fleet.
Deploy a Custom Settings payload with preference domain com.anthropic.claudecode through a Configuration Profile.
1

Create the property list

Save the following as com.anthropic.claudecode.plist.
com.anthropic.claudecode.plist
2

Upload it as a Custom Settings payload

Follow Jamf’s guide, Deploying Custom Computer Configuration Profiles Using the Application and Custom Settings Payload, using the preference domain com.anthropic.claudecode and the property list above as the uploaded file.
3

Scope the profile

Scope the Configuration Profile to your target device group.
These templates enable the plugin only. To deploy a read-only token, add SEMGREP_APP_TOKEN and SEMGREP_GUARDIAN_EMAIL to the same managed settings payload. For the values, see Deploy with a read-only token. For the env key, see Claude Code settings.

Deployment recommendations

  • Test the deployment on a single machine before pushing to the whole fleet.
  • After deploying, confirm that Guardian loaded by running claude mcp get plugin:semgrep:guardian and confirming it reports as connected.
  • Each developer signs in to Semgrep once Guardian is installed, unless you deploy a read-only token. See Authentication for how sign-in works, and the Quickstart for setup steps.

Deploy with a read-only token (Semgrep Enterprise only)

Use a read-only API token when developers cannot complete a browser sign-in, such as on a managed fleet where you provision credentials through your MDM platform.
1

Create a read-only token

Sign in to Semgrep and go to Settings > Tokens, then set the token scope to read-only. For more information, see Access tokens.
2

Confirm that the token is read-only

On a machine with the Semgrep CLI installed, run the following command and confirm that it fails:
SEMGREP_APP_TOKEN=READ_ONLY_TOKEN semgrep ci
semgrep ci runs on your machine and sends findings to Semgrep AppSec Platform. A read-only token cannot send findings, so the command fails. If the command succeeds, return to the previous step and create a token with the read-only scope.
3

Set the environment variables on each developer machine

Set these environment variables:You deploy the same token to every machine. Set SEMGREP_GUARDIAN_EMAIL on each machine.Many MDM platforms provide a payload variable for the assigned user’s email address, so you can deploy one profile to the fleet. See your MDM provider’s documentation for the variable name.
Contact Semgrep if you have questions about which approach fits your organization.

Get help with a custom deployment

Contact Semgrep or send a message to the #mcp channel on Slack if you would like help building something custom for your MDM or agent fleet.