## TL;DR
Make the silent failure loud, then reconcile what was missed. Compare the source change history with target state to find operations the sync dropped without logging, check the connector error handling and log level that swallowed them, fix the reporting path so failures alert, and run a reconciliation that applies or records every missed change.

```text
identity provisioning audit log missing events: SCIM sync silently failed
```

## Use this when
- Expected create or update events are absent from the audit trail for a period or a user set.
- Target accounts differ from the source with no corresponding sync error anywhere.
- A compliance review flagged the gap between HR changes and identity events.

## Not for this skill when
- Events exist but the audit viewer filters hide them. Adjust the audit query before assuming loss.
- The sync is intentionally paused. Document the pause rather than reconciling.

## Steps
1. Open the identity platform provisioning history and the target change history side by side for the affected hire and capture the full error detail, the operation that failed, and the identifiers involved, rather than working from the summary banner alone. Keep one hire as the test case for every change so cause and effect stay clear. Verify: the full error detail and one test hire are recorded
2. Define the gap precisely: pick the window and user set, list HR or directory changes in that window, and check each one for a matching target state and audit event, producing the missed-operations list that reconciliation must clear. Verify: the missed operations are enumerated per user
3. Inspect the connector failure handling: look for a log level that records errors only in a local file, a webhook or alert that was disabled, or a success response the source accepted while the target rejected asynchronously. Verify: the mechanism that hid the failures is named
4. Apply the correction in the SCIM integration and save it, then re-run provisioning for the single test hire only and read the fresh log entry end to end. If it still fails, treat the new detail as the current cause and do not stack further changes on top. Verify: the test hire provisions successfully or a new specific detail replaces the old one
5. Fix the reporting path: raise error visibility to the platform provisioning log, enable failure alerting to the operations channel, and confirm a deliberately broken test user now produces a visible error and alert. Verify: the hire downstream alert check passes on the test failure
6. Reconcile the missed operations in order, applying creates, updates, and deactivations the source intended, and record a reconciliation note in the audit trail for the window explaining the gap and its remediation for compliance. Verify: the hire downstream checks pass in their own systems after reconciliation

## Why it happens
SCIM syncs fail silently when the connector treats target rejections as routine, logs them somewhere nobody reads, or reports success at the batch level while individual operations failed. Audit logs then show a clean history that never happened, which is worse than an obvious outage because access drift accumulates invisibly, including departed users keeping access. Only a direct source-to-target comparison reveals the truth. Reconciliation repairs the present, and drift reporting plus alerting ensures the next failure announces itself.

## Variants and edge cases
### Gap covers deactivations only
Prioritize missed deactivations in reconciliation for security, and check why the connector deprioritizes or batches delete operations.

### Target has changes with no source event
Reverse drift suggests manual target edits. Reconcile by policy decision per user and tighten target admin access.

### Audit system itself dropped ingestion
If the platform log shows the events but the audit store does not, fix the log forwarding pipeline and backfill from the platform history.

Compatibility: Applies to SCIM integrations with Okta, Entra ID, and SIEM-forwarded audit trails. Requires identity admin and audit system access.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_wnLBeinSidDFlKTDI4PmQw
