# Deploy Aikido Device Protection with Addigy on macOS

Use Addigy to deploy Aikido Device Protection across your managed macOS fleet with the required permissions in place.

## Installation

{% stepper %}
{% step %}
**What you'll need**

Before starting, make sure you have the following from the Aikido Device Protection dashboard:

* The **Aikido Device Protection `.mobileconfig`** (downloaded from the [Aikido Device Protection dashboard](https://app.aikido.dev/endpoint-protection/devices))
* The **Aikido Device Protection installer** (`.pkg` file, downloaded from the dashboard)

If you're missing any of these, go back to the [Aikido Device Protection dashboard](https://app.aikido.dev/endpoint-protection/devices), click **Connect Device**, and complete the pre-flight steps.
{% endstep %}

{% step %}
**Add the Aikido Device Protection configuration profile**

1. In the Addigy console, go to **Catalog** → **Device Settings**.
2. Click **New**, then select **Custom Profile**.
3. Upload the `.mobileconfig` file and give the profile a name (e.g. "Aikido Device Protection").
4. Click **Save**.
5. Click the three dots (**...**) next to the profile, select **Assignments**, choose your target policy, and click **Save**.

This profile allows the Aikido Device Protection system extension to load silently, enables the network content filter, and stops users from disabling background services in System Settings → Login Items.
{% endstep %}

{% step %}
**Upload and configure the Aikido Device Protection installer**

1. In the Addigy console, go to **Catalog** → **Software** → **Smart Software**.
2. Click **New** and give the item a name (e.g. "Aikido Device Protection").
3. Click **Select File(s)** to open the File Manager and upload the Aikido Device Protection `.pkg`.
4. Select the uploaded file to attach it to the item.
5. Click **Auto-fill** under **Install Command**. Addigy generates the installer command automatically.
6. Click **Save**.
7. Click the three dots (**...**) next to the Smart Software item, select **Assignments**, choose the same target policy, and click **Save**.
{% endstep %}

{% step %}
**Deploy to your devices**

1. Verify the **Aikido Device Protection** configuration profile is installed: open the profile in **Catalog** → **Device Settings** and confirm the assignment status shows all target devices.
2. Trigger the **Aikido Device Protection** Smart Software deployment by assigning it to the policy (or letting the next policy check-in run).
{% endstep %}

{% step %}
**Reboot devices after installation**

Restart your target devices after the agent installation completes. In Addigy, you can do this per device via **GoLive** → **Device Status** → **Device Commands** → **Restart**. The agent fully activates on the next boot.
{% endstep %}

{% step %}
**Verify the deployment**

On a test device, confirm:

1.  The system extension is activated:

    ```bash
    systemextensionsctl list | grep aikido
    ```

    Expect to see the extension marked `[activated enabled]`.
2. Open **System Settings** → **General** → **Login Items & Extensions** and confirm the Aikido Device Protection entries cannot be toggled off.
{% endstep %}
{% endstepper %}

## Troubleshooting


| Problem                                              | Fix                                                                                                  |
| ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| Users still see the popup                            | Make sure the configuration profile is scoped correctly and installed before the package policy runs |
| Extension is waiting for user approval               | Check the System Extensions payload and confirm the team ID and bundle ID match exactly              |
| The package installs but the device does not connect | Confirm the token script ran before the package install and that the token was copied correctly      |
| Duplicate extension entries appear                   | Reboot the device                                                                                    |
| The content filter is not approved silently          | Re-upload the `.mobileconfig` profile and verify it is installed on the device                       |
