> For the complete documentation index, see [llms.txt](https://help.aikido.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.aikido.dev/aikido-device-protection/deploying-aikido-endpoint/device-protection-mdm-guides/device-protection-mdm-for-macos/deploy-aikido-endpoint-with-addigy.md).

# Deploy Device Protection with Addigy

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 in the right order**

Deploy the configuration profile before the installer for a smoother rollout.

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. Only after the profile is confirmed on all target devices, 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                       |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.aikido.dev/aikido-device-protection/deploying-aikido-endpoint/device-protection-mdm-guides/device-protection-mdm-for-macos/deploy-aikido-endpoint-with-addigy.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
