---
title: Comparar los eventos de Security posture almacenados con los resultados actuales
url: https://platform.claude.com/docs/es/manage-claude/compliance-security-posture/check-events-against-results
description: Una vez al día, compara las actividades de atestación que tu SIEM ha almacenado con los resultados actuales del endpoint y decide qué discrepancias necesitan a una persona.
---

<Note>
  Para habilitar la Compliance API, consulta [Configurar la Compliance API](https://platform.claude.com/docs/es/manage-claude/compliance-api-access).
</Note>

El Activity Feed puede entregar una actividad con retraso, y el endpoint no guarda historial, así que cada fuente puede mostrar un cambio que la otra no muestra. Una comparación diaria encuentra lo que le falta a tu almacén de “security information and event management” (gestión de información y eventos de seguridad), o SIEM. El Activity Feed no registra [todos los cambios](https://platform.claude.com/docs/es/manage-claude/compliance-security-posture/events-reference#what-the-feed-does-not-record), así que una atestación puede ser anterior a la primera actividad del Activity Feed para su control de seguridad, y en casos poco frecuentes un cambio no tiene ninguna actividad. Si solo informas de los resultados actuales, no necesitas la comprobación.

Necesitas una Compliance Access Key que cubra la organización, con `read:compliance_org_data` para el endpoint y `read:compliance_activities` para el Activity Feed, o `read:org_audit` para ambos.

## Ejecutar la comprobación

Inicia cada ejecución después de que termine la [relectura diaria](https://platform.claude.com/docs/es/manage-claude/compliance-security-posture/send-events#re-read-15-days-once-a-day) del día, para que las actividades tardías ya estén almacenadas.

1. Lista las organizaciones vinculadas con [Listar organizaciones](https://platform.claude.com/docs/es/manage-claude/compliance-org-data#list-organizations). Obtienes el `uuid` de cada una.
2. [Llama al endpoint](https://platform.claude.com/docs/es/manage-claude/compliance-security-posture/results-reference#request) una vez por cada organización. Obtienes un 200, o un 404 en cada ejecución para una organización a la que el endpoint no da servicio (consulta [Disponibilidad de Security posture](https://platform.claude.com/docs/es/manage-claude/compliance-security-posture/overview#availability)). Un 404 significa que la organización no se lee en esta ejecución. Mantén una lista de las organizaciones que devuelven un 200, cada una con el `evaluated_at` de su primera respuesta 200: tu primera ejecución para la organización.
3. Aparta lo que indican las [reglas de exclusión](https://platform.claude.com/docs/es/manage-claude/compliance-security-posture/check-events-against-results#set-aside-what-cannot-be-compared).
4. Agrupa las actividades de atestación almacenadas restantes de la organización por control de seguridad y toma la más reciente según `created_at` de cada uno. Obtienes una actividad por cada control, o ninguna.
5. Para cada control que quede, busca su fila en [la tabla de decisión](https://platform.claude.com/docs/es/manage-claude/compliance-security-posture/check-events-against-results#decide-what-each-mismatch-means). Obtienes Coincide, Esperado o Investigar.
6. Actúa sobre un Investigar solo cuando la siguiente ejecución que lee la organización lo vuelva a mostrar; actúa sobre la fila 6 de inmediato, y para las filas 10 y 11 sigue en cambio las [reglas de registros sustitutos](https://platform.claude.com/docs/es/manage-claude/compliance-security-posture/check-events-against-results#keep-a-placeholder-where-the-two-sources-cannot-be-matched). Una ejecución que no leyó la organización ni cuenta ni reinicia la espera.

Espacia tus llamadas y gestiona un 429 como se describe en [429 Too Many Requests](https://platform.claude.com/docs/es/manage-claude/compliance-errors#429-too-many-requests); una organización cuyas llamadas fallan tras tus reintentos no se lee en esta ejecución, y una llamada fallida no es un cambio.

## Emparejar los campos

Empareja una entrada de la respuesta con una actividad almacenada mediante estos campos.

| En la respuesta           | En la actividad                                                             | Cómo se relacionan                                                                                                                                                                                           |
| ------------------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `organization_id`         | `organization_uuid`                                                         | El mismo valor; el propio `organization_id` de la actividad lleva el prefijo `org_`.                                                                                                                         |
| `controls[].id`           | `control`                                                                   | El mismo identificador, salvo lo indicado en la [regla S2](https://platform.claude.com/docs/es/manage-claude/compliance-security-posture/check-events-against-results#set-aside-what-cannot-be-compared).    |
| `attestation.attested_at` | `created_at` de la actividad `attested`, `changed` o `renewed` más reciente | El mismo momento cuando la respuesta muestra la atestación; compáralos como marcas de tiempo, no como cadenas.                                                                                               |
| `status`                  | `status`                                                                    | Mientras la atestación está vigente, `attested_completed` se empareja con `completed`, y `attested_accepted_risk` y `failed_check_accepted_risk` con `accepted_risk`; nada se empareja con `control_failed`. |

## Apartar lo que no se puede comparar

Antes de comparar, aparta lo siguiente.

| #  | Qué                                                                                                                | Regla                                                                                                |
| -- | ------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------- |
| S1 | Una actividad de atestación almacenada cuyo `action` no es `attested`, `changed`, `renewed`, `cleared` ni `lapsed` | Déjala fuera de toda la comprobación; marca cada nuevo valor de `action` para revisión una vez.      |
| S2 | Una actividad de atestación almacenada que nombra `mdm_cowork_required_organization`                               | Cuéntala como una de `mdm_chat_required_organization`.                                               |
| S3 | Una actividad de atestación almacenada cuyo control no tiene entrada en la respuesta                               | Nada que comparar; informa del control como ausente de la respuesta, nunca como Superado (`passed`). |
| S4 | Una entrada cuyo `status` es `descriptive`, `not_applicable` o `not_evaluated`                                     | Omítela; una ejecución en la que es `not_evaluated` no cuenta para ese control.                      |

## Decidir qué significa cada discrepancia

Cada control que queda encaja exactamente en una fila.

| #  | Actividad almacenada más reciente                                                                                    | Entrada en la respuesta                                                                                                                                                                                | Dictamen   | Qué hacer                                                                                                                                                                                                                                                                                                                           |
| -- | -------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1  | `attested`, `changed` o `renewed`                                                                                    | `attested_at` es igual a su `created_at`; `state` es `in_force`; `status` se empareja con su valor.                                                                                                    | Coincide   | Nada.                                                                                                                                                                                                                                                                                                                               |
| 2  | `cleared`                                                                                                            | `attestation` es `null`, salvo lo indicado en la fila 11.                                                                                                                                              | Coincide   | Nada.                                                                                                                                                                                                                                                                                                                               |
| 3  | `lapsed`, con Riesgo aceptado (`accepted_risk`)                                                                      | `attestation` es `null`, o tiene la marca de tiempo de la actividad anterior con `state` `check_passing` o `setting_changed`.                                                                          | Coincide   | Nada.                                                                                                                                                                                                                                                                                                                               |
| 4  | `lapsed`, con `completed` o `control_failed`                                                                         | `attestation` es `null`.                                                                                                                                                                               | Coincide   | Nada.                                                                                                                                                                                                                                                                                                                               |
| 5  | `attested`, `changed` o `renewed`                                                                                    | `attested_at` es igual a su `created_at`; `state` es `review_due`, `check_passing` o `setting_changed`.                                                                                                | Esperado   | No vigente: actúa una vez ante cada nueva situación, sin esperar una actividad; un regreso a `in_force` lo reinicia.                                                                                                                                                                                                                |
| 6  | `attested`, `changed` o `renewed`, con Completado (`completed`) y un `created_at` posterior a tu primera ejecución   | En la primera ejecución que compara la actividad, `attestation` es `null` y `status` es `failed` con un `current_value`.                                                                               | Investigar | La página Security posture puede mostrar como Superado un control cuya verificación no se cumple: marca el control para revisión, sin esperar.                                                                                                                                                                                      |
| 7  | `attested`, `changed` o `renewed`, con `completed`                                                                   | `attestation` es `null`; `status` no es ni `not_attested` ni `failed` con un `current_value` `null`; la fila 6 no encaja.                                                                              | Esperado   | Nada que comparar; la respuesta nunca lo muestra.                                                                                                                                                                                                                                                                                   |
| 8  | `attested`, `changed` o `renewed`, como Fallido (`control_failed`)                                                   | `attestation` es `null`; `status` es uno de estos tres: `failed`; cualquier estado que dé la verificación automática; o, a partir de la fecha de finalización (`review_date`, en UTC), `not_attested`. | Esperado   | Nada que comparar; actúa una vez cuando `status` deje de ser `failed` a partir de la fecha de finalización.                                                                                                                                                                                                                         |
| 9  | `attested`, `changed` o `renewed`, con `accepted_risk`                                                               | `attestation` es `null`, y `status` es `passed`, `matches_profile` o `exceeds_baseline`.                                                                                                               | Esperado   | Almacena un registro sustituto ([regla de registros sustitutos 7](https://platform.claude.com/docs/es/manage-claude/compliance-security-posture/check-events-against-results#keep-a-placeholder-where-the-two-sources-cannot-be-matched)).                                                                                          |
| 10 | Ninguna, o todas las actividades almacenadas son anteriores a `attested_at`                                          | `attestation` está presente.                                                                                                                                                                           | Investigar | Sigue las reglas de registros sustitutos.                                                                                                                                                                                                                                                                                           |
| 11 | Ninguna, o una cuyo valor no es `control_failed`                                                                     | `current_value` es `null`, y `status` es `failed`.                                                                                                                                                     | Investigar | A tu almacén le falta una atestación como Fallido (`control_failed`): sigue las reglas de registros sustitutos y actúa una vez cuando `status` deje de ser `failed`.                                                                                                                                                                |
| 12 | `attested`, `changed`, `renewed` o `cleared`, posterior a `attested_at`, con otra actividad de casi el mismo momento | `attestation` está presente.                                                                                                                                                                           | Esperado   | Los cambios realizados casi al mismo tiempo pueden almacenarse en cualquier orden.                                                                                                                                                                                                                                                  |
| 13 | Lo mismo, sin esa segunda actividad                                                                                  | `attestation` está presente.                                                                                                                                                                           | Investigar | Contacta con el soporte de Anthropic una sola vez.                                                                                                                                                                                                                                                                                  |
| 14 | `attested`, `changed` o `renewed`                                                                                    | `attested_at` es igual a su `created_at`; `state` es `in_force`; `status` no se empareja con su valor.                                                                                                 | Investigar | Contacta con el soporte de Anthropic una sola vez.                                                                                                                                                                                                                                                                                  |
| 15 | `attested`, `changed` o `renewed`; ninguna fila anterior encaja                                                      | `attestation` es `null`.                                                                                                                                                                               | Investigar | Lo más probable es que la atestación se haya borrado: almacena un registro sustituto ([regla de registros sustitutos 7](https://platform.claude.com/docs/es/manage-claude/compliance-security-posture/check-events-against-results#keep-a-placeholder-where-the-two-sources-cannot-be-matched)) y marca para revisión una sola vez. |
| 16 | Ninguna                                                                                                              | `attestation` es `null`, y la fila 11 no encaja.                                                                                                                                                       | Coincide   | Nada.                                                                                                                                                                                                                                                                                                                               |
| 17 | Cualquier otra                                                                                                       | Cualquier otra.                                                                                                                                                                                        | Investigar | Marca para revisión una vez.                                                                                                                                                                                                                                                                                                        |

## Conservar un registro sustituto cuando las dos fuentes no se pueden emparejar

Un registro sustituto ocupa el lugar de lo que le falta a una de las dos fuentes, y lo mantienes separado de tus actividades almacenadas. Para las filas 10 y 11, vuelve a leer el Activity Feed, y almacena y marca el registro sustituto solo si no llega nada dentro de 15 días, el alcance de la [relectura diaria](https://platform.claude.com/docs/es/manage-claude/compliance-security-posture/send-events#re-read-15-days-once-a-day). En tu primera ejecución, almacénalo de inmediato, sin revisión.

Registros sustitutos de la fila 10, identificados por el control y `attested_at`:

1. Vuelve a leer desde tu actividad almacenada más reciente para el control, o desde `attested_at` inclusive si no has almacenado ninguna; los 15 días cuentan desde `attested_at`. Construye el registro sustituto a partir de la entrada, marcado como sin actividad; en la tabla de decisión, léelo como una actividad `attested` en ese `attested_at` cuyo valor se empareja con su `status`, si lo hay.
2. En cada ejecución que muestre la atestación, actualiza su `status` y su `state`.
3. Cuando llegue una actividad cuyo `created_at` sea igual a ese `attested_at`, reemplaza el registro sustituto por ella.
4. Cuando dos ejecuciones seguidas no muestren la atestación, resuelve el registro sustituto; marca eso para revisión salvo que lo explique una actividad almacenada posterior o una discrepancia pendiente de la fila 10 para el control, o que ambas ejecuciones muestren `descriptive`.
5. Una ejecución que no leyó la organización, o que muestra `not_evaluated`, ni cuenta para esas dos ejecuciones ni las reinicia.
6. Si la atestación vuelve a mostrarse, reabre el mismo registro sustituto.

Registros sustitutos de las filas 9, 11 y 15, identificados solo por el control:

7. Para la fila 11, los 15 días cuentan desde la primera ejecución que muestra el `status`. Mientras el registro sustituto esté pendiente, no marques nada más para ese control; resuélvelo cuando llegue una actividad posterior, se muestre la atestación o dos ejecuciones seguidas encajen en otra fila.
8. Cuando un registro sustituto de la fila 9 se resuelva porque la atestación se muestra como `failed_check_accepted_risk`, márcalo para revisión una vez: el riesgo está vigente.

## Ejemplo práctico

Estas dos ejecuciones leen la organización del [ejemplo de respuesta](https://platform.claude.com/docs/es/manage-claude/compliance-security-posture/results-reference#response) de la Referencia de resultados; la ejecución 1 es tu primera ejecución.

* Ejecución 1, `directory_sync_enabled`. Almacenado: `attested`, `accepted_risk`, creado en `2026-10-20T15:04:00.220114Z`. Respuesta: `failed_check_accepted_risk`, `in_force`, el mismo `attested_at`. Fila 1: Coincide.
* Ejecución 1, `allowed_invite_domains`. Almacenado: nada. Respuesta: `descriptive`, `attestation` `null`. Regla S4: se aparta.
* Ejecución 1, `oauth_conditional_access`. Almacenado: nada. Respuesta: una `attestation` con `state` `review_due`. Fila 10: Investigar. En tu primera ejecución, almacena un registro sustituto de inmediato, sin revisión.
* Ejecución 2, `oauth_conditional_access`. Registro sustituto: el de la ejecución 1. Respuesta: la misma. Fila 5: Esperado. Actúa una vez ante `review_due`.

## Lo que la comprobación no puede encontrar

La comprobación diaria no puede encontrar una actividad que falta para una atestación que la respuesta omite en un control automático. La respuesta no da ninguna señal de esa atestación, o solo el `status` `failed`, que parece el estado que da la verificación automática.

## Cuando una organización deja de responder

Una organización que ha devuelto un 200 y después devuelve un 404 en varias ejecuciones seguidas necesita a una persona, una vez. Pregunta a alguien con acceso a la página Security posture si se ha desactivado la página para la organización (consulta [Disponibilidad de Security posture](https://platform.claude.com/docs/es/manage-claude/compliance-security-posture/overview#availability)). Si no se ha desactivado la página, contacta con tu representante de Anthropic. Puede que la organización se haya eliminado, o que tu acceso, Security posture o el endpoint hayan dejado de estar disponibles para la organización. Sea cual sea la causa, resuelve los registros sustitutos y las discrepancias pendientes de la organización sin revisión, sigue llamando a la organización y vuelve a abrirlos si la organización devuelve un 200.
