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

# Security Posture Score

> A 0-100 score measuring your organization's AI agent security posture across 6 dimensions

The security posture score gives you a single number (0-100) that reflects how well your organization governs its AI agent ecosystem. It is separate from the EU AI Act compliance readiness score - this score focuses on operational security, not regulatory compliance. Requires the `admin` scope.

## Score Dimensions

| Dimension               | What It Measures                                                                      | Max Points |
| ----------------------- | ------------------------------------------------------------------------------------- | ---------- |
| **Agent Ownership**     | Proportion of agents with at least one assigned owner                                 | 20         |
| **Agent Expiry**        | Penalized per currently-expired agent (no expired agents = full score)                | 15         |
| **Access Reviews**      | Penalized per agent currently overdue for review (none overdue = full score)          | 15         |
| **Quarantine Status**   | Penalized per agent currently quarantined (none quarantined = full score)             | 15         |
| **Kill Switch Status**  | Penalized per agent currently blocked via the kill switch (none blocked = full score) | 15         |
| **Risk Classification** | Proportion of agents with a risk classification on record                             | 20         |

## Get Security Posture

<CodeGroup>
  ```bash curl theme={null}
  curl https://api.meshai.dev/api/v1/security/posture \
    -H "Authorization: Bearer msh_YOUR_API_KEY"
  ```

  ```python SDK theme={null}
  from meshai import MeshAI

  client = MeshAI(api_key="msh_...")

  posture = client.get_security_posture()
  ```
</CodeGroup>

<ResponseExample>
  ```json Response theme={null}
  {
    "success": true,
    "data": {
      "score": 82,
      "max_score": 100,
      "components": [
        {
          "name": "Agent Ownership",
          "max_score": 20,
          "score": 17,
          "detail": "34/40 agents have assigned owners"
        },
        {
          "name": "Agent Expiry",
          "max_score": 15,
          "score": 15,
          "detail": "No expired agents"
        },
        {
          "name": "Access Reviews",
          "max_score": 15,
          "score": 15,
          "detail": "All current"
        },
        {
          "name": "Quarantine Status",
          "max_score": 15,
          "score": 10,
          "detail": "1 quarantined"
        },
        {
          "name": "Kill Switch Status",
          "max_score": 15,
          "score": 15,
          "detail": "No agents blocked"
        },
        {
          "name": "Risk Classification",
          "max_score": 20,
          "score": 10,
          "detail": "20/40 agents classified"
        }
      ],
      "assessed_at": "2026-03-18T10:00:00Z"
    }
  }
  ```
</ResponseExample>

There is no separate `agent_count` field and no `dimensions` object keyed by name - components are a flat list, each with `name`, `max_score`, `score`, and `detail`. `Quarantine Status` and `Kill Switch Status` are simple current-state counts (agents quarantined right now / agents blocked right now) - there is no "reviewed within 7 days" or "tested in the last 30 days" tracking behind these scores.

## Score Ranges

| Range  | Label     | Interpretation                       |
| ------ | --------- | ------------------------------------ |
| 90-100 | Excellent | Fully governed agent ecosystem       |
| 70-89  | Good      | Most governance controls in place    |
| 50-69  | Fair      | Significant gaps in agent governance |
| 0-49   | Poor      | Urgent action needed                 |

## Security Posture vs Compliance Readiness

| Aspect       | Security Posture Score                                              | EU AI Act Readiness Score                                                              |
| ------------ | ------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| **Scope**    | Operational security                                                | Regulatory compliance                                                                  |
| **Scale**    | 0-100                                                               | 0-120                                                                                  |
| **Focus**    | Ownership, expiry, reviews, quarantine, kill switch, classification | Audit trail, risk classification, HITL, documentation, data retention, FRIA, incidents |
| **Endpoint** | `GET /security/posture`                                             | `GET /compliance/readiness`                                                            |

Both scores are complementary. A high security posture score means your agents are well-governed right now. A high compliance readiness score means you can demonstrate regulatory compliance.

## Improving Your Score

1. **Agent Ownership** - Assign owners to all agents using [ABAC](/governance/abac).
2. **Agent Expiry** - Renew or decommission agents whose `expires_at` has passed via [Agent Lifecycle](/governance/agent-lifecycle).
3. **Access Reviews** - Configure review schedules and complete overdue reviews.
4. **Quarantine Status** - Resolve [quarantined agents](/governance/quarantine) - release or permanently block them.
5. **Kill Switch Status** - Unblock agents once the underlying issue is resolved; this score reflects how many agents are blocked right now.
6. **Risk Classification** - Classify all agents using [Risk Classification](/governance/risk-classification).
