> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getprimo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Compliance issue auto remediation

> Let Primo open a ticket for a compliance issue and have Primo AI diagnose it, push the fix, and hand back what only IT can decide.

Compliance issue auto remediation turns a compliance issue into work that gets done instead of a number on a dashboard. When a device drifts, Primo raises a [compliance issue](/mdm/compliance/issues). You can ask Primo to go one step further: open a ticket for that issue and assign it to Primo AI, which diagnoses it, re-pushes the fix when there is one to push, messages the employee when only they can act, and hands the ticket back to your team with what it established.

Straightforward cases close without anyone opening them. The rest reach an admin with the diagnosis already attached.

<Info>
  Auto remediation is in beta. Without it, you keep compliance issues as they are today — no ticketing and no auto remediation. Contact [support@getprimo.com](mailto:support@getprimo.com) to have it enabled on your company.
</Info>

<CardGroup cols={3}>
  <Card title="Set up auto remediation" icon="sliders" href="/mdm/compliance/remediation-setup">
    Choose which statuses open a ticket, set your ticket defaults, and publish your policy.
  </Card>

  <Card title="Write your remediation policy" icon="file-pen" href="/mdm/compliance/remediation-policy">
    Define the mandate Primo AI works under, in four sections.
  </Card>

  <Card title="What Primo AI does" icon="robot" href="/mdm/compliance/primo-ai-remediation">
    The fixes it applies alone, the cases it hands back, and what it never does.
  </Card>
</CardGroup>

## How a compliance issue becomes a resolved ticket

<Steps>
  <Step title="A device syncs and Primo recomputes its compliance">
    Compliance is re-evaluated on every device sync, and again whenever you change an MDM control.
  </Step>

  <Step title="A flagged status raises a compliance issue">
    Any status you set to **Create Issue** or **Create Issue and Ticket** produces an issue on that device.
  </Step>

  <Step title="Primo opens a ticket for statuses set to Create Issue and Ticket">
    The ticket carries a translated title, the **Compliance** tag, the device, the device's owner as requester, and your ticket defaults.
  </Step>

  <Step title="Primo AI picks the ticket up">
    If your remediation policy is published, the ticket is assigned to Primo AI and it starts working immediately. If no policy is published, the ticket is opened without the assistant — a normal ticket for your team.
  </Step>

  <Step title="Primo AI works the ticket">
    It reads the issue and the raw evidence, refreshes the device, pushes what it can push, messages the employee when the device genuinely needs a person at the keyboard, and posts a note with the outcome.
  </Step>

  <Step title="The device reports compliant and the ticket closes">
    The issue disappears and Primo closes the ticket by itself. Primo AI never closes a compliance ticket on its own initiative.
  </Step>
</Steps>

## Key concepts

* **Compliance issue** — A device currently reporting a status you flagged as non-compliant. Issues appear in the issues list, on the device, and in your filters and counts.
* **Compliance ticket** — A ticket Primo opens for a single compliance issue. One issue carries at most one ticket.
* **Compliance remediation policy** — The written mandate Primo AI works under. Publishing it is what switches auto remediation on.
* **Auto remediation: ON / OFF** — The state chip on the settings page. It reads ON only while a policy is published.

## What is reliable by design

* Ticket creation and closure are reconciled on every compliance computation. A transient outage delays a ticket by one sync cycle rather than losing it.
* Switching a status to **Create Issue and Ticket** backfills tickets for the devices already affected.
* You can also open a ticket by hand from a single row in the compliance issues list, even for a status you have not configured for ticketing.

## Permissions

| Action                                           | Permission  |
| ------------------------------------------------ | ----------- |
| View compliance issues, settings, and the policy | `MDM_READ`  |
| Change settings, edit and publish the policy     | `MDM_WRITE` |

## Next steps

<CardGroup cols={2}>
  <Card title="Read a compliance ticket" icon="ticket" href="/mdm/compliance/remediation-tickets">
    What the three note shapes mean and how the conversation on the ticket works.
  </Card>

  <Card title="Limits and platform constraints" icon="triangle-exclamation" href="/mdm/compliance/remediation-limits">
    What Primo AI cannot fix, and why.
  </Card>
</CardGroup>
