---
title: Verified script execution for private locations
source: https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/private-locations/verified-script-execution-private-locations
---

To prevent others from using your Synthetics Job Manager to assign [scripted browsers](https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/scripting-monitors/introduction-scripted-browser-monitors), [API tests](https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/scripting-monitors/write-synthetic-api-tests), or [step monitors](https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/using-monitors/intro-synthetic-monitoring/#types-of-synthetic-monitors), add verified script execution. Then, any changes to your Synthetics Job Manager will require a passphrase that is known only to you.

The private locations list in New Relic's UI includes a **VSE** column. A lock 
icon indicates that verified script execution has been set up for that location.

## Passphrase security [#pass-phrase-security]

Be sure to safeguard your Synthetics Job Manager's passphrase. No other users on your account can view it, and it is never stored in New Relic's collector.

> #### ⚠️ IMPORTANT
>
> This restriction includes New Relic support personnel. Because our collector never stores your passphrase, our support team cannot recover or reset your passphrase for you. If you forget your passphrase, you will need to change it in the [Synthetics Job Manager **Overview** page](https://docs.newrelic.com/docs/synthetics/new-relic-synthetics/private-locations/install-configure-private-minions#configure), and then update each monitor assigned to that private location.

## Enable verified script execution [#vse]

Do the following to enable verified script execution for the Synthetics Job Manager. Be sure to record your passphrase in a secure place.

1.  Go to **[one.newrelic.com > Synthetic monitoring > Private locations](https://one.newrelic.com/synthetics-nerdlets/private-location-list)** > (select a private location). Select the private location's ellipses icon, and click **Edit**. Enable verified script execution, and then save.

2.  Set the passphrase in your Docker or Kubernetes environment for [synthetics job manager](https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/private-locations/job-manager-configuration/#environment-variables):

    -   **Docker:**

        Add the `VSE_PASSPHRASE` environment variable to the Docker `run` command used to start your synthetics job manager:

        ```shell
        docker run \
            --name YOUR_CONTAINER_NAME \
            -e "PRIVATE_LOCATION_KEY=YOUR_PRIVATE_LOCATION_KEY" \
            -e VSE_PASSPHRASE="YOUR_PASSPHRASE" \
            -v /var/run/docker.sock:/var/run/docker.sock:rw \
            -d \
            --restart unless-stopped \
            newrelic/synthetics-job-manager:latest
        ```

    -   **Kubernetes:**

        Set the `synthetics.vsePassphrase` value in the Helm `install` or `upgrade` command:

        ```shell
        helm install YOUR_JOB_MANAGER_NAME YOUR_REPO_NAME/synthetics-job-manager -n YOUR_NAMESPACE --set synthetics.privateLocationKey=YOUR_PRIVATE_LOCATION_KEY --set synthetics.vsePassphrase=YOUR_PASSPHRASE
        ```

3.  From the Synthetics UI, select a monitor assigned to that location. Then select **Settings > General**.

4.  From the list of private locations, select your location, type your passphrase, and save. Be sure to record your passphrase in a secure place.

5.  Repeat steps 3 and 4 for each monitor you want to assign to your location.

## Change your passphrase [#changing-pass-phrase]

To change your passphrase, do the following. Be sure to record your passphrase in a secure place.

1.  Update the passphrase in your Docker or Kubernetes environment for the [synthetics job manager](https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/private-locations/job-manager-configuration/#environment-variables):

    -   **Docker:**

        Stop your current synthetics job manager. Then use the Docker `run` command to start a new synthetics job manager with your updated `VSE_PASSPHRASE` environment variable:

        ```shell
        docker run \
          --name YOUR_CONTAINER_NAME \
          -e "PRIVATE_LOCATION_KEY=YOUR_PRIVATE_LOCATION_KEY" \
          -e VSE_PASSPHRASE="YOUR_PASSPHRASE" \
          -v /var/run/docker.sock:/var/run/docker.sock:rw \
          -d \
          --restart unless-stopped \
          newrelic/synthetics-job-manager:latest
        ```
    -   **Kubernetes:**

        Use the Helm `upgrade` command to set your updated `synthetics.vsePassphrase` value:

        ```shell
        helm install YOUR_JOB_MANAGER_NAME YOUR_REPO_NAME/synthetics-job-manager -n YOUR_NAMESPACE --set synthetics.privateLocationKey=YOUR_PRIVATE_LOCATION_KEY --set synthetics.vsePassphrase=YOUR_PASSPHRASE
        ```

2.  Go to **[one.newrelic.com > Synthetic monitoring](https://one.newrelic.com/synthetics-nerdlets)** > (click the assigned monitor) > **Settings > General**.

3.  From the list of private locations, select your location, type your new passphrase, and save.

4.  Repeat steps 2 and 3 for each monitor assigned to your location.

## Disable verified script execution [#disabling]

To disable verified script execution:

1.  Remove the passphrase in your Docker or Kubernetes environment:

    -   **Docker:**

        Stop your current synthetics job manager container. Then use the Docker `run` command to start a new job manager without the `VSE_PASSPHRASE` environment variable:

        ```shell
        docker run \
          --name YOUR_CONTAINER_NAME \
          -e "PRIVATE_LOCATION_KEY=YOUR_PRIVATE_LOCATION_KEY" \
          -e VSE_PASSPHRASE="YOUR_PASSPHRASE" \
          -v /var/run/docker.sock:/var/run/docker.sock:rw \
          -d \
          --restart unless-stopped \
          newrelic/synthetics-job-manager:latest
        ```

    -   **Kubernetes:**

        Use the Helm `upgrade` command without the `--set synthetics.vsePassphrase` value:

        ```shell
        helm install YOUR_JOB_MANAGER_NAME YOUR_REPO_NAME/synthetics-job-manager -n YOUR_NAMESPACE --set synthetics.privateLocationKey=YOUR_PRIVATE_LOCATION_KEY
        ```

2.  Go to **[one.newrelic.com > Synthetic monitoring > Private locations](https://one.newrelic.com/synthetics-nerdlets/private-location-list)** (select a private location). Clear the **Enable verified script execution** checkbox, then save.
