
Dd Audit Compliance Report
- 256 installs
- 147 repo stars
- Updated July 29, 2026
- datadog-labs/agent-skills
Produce Datadog audit and compliance reports summarizing control posture, evidence gaps, and remediation priorities before or during release reviews.
About
The dd-audit-compliance-report skill from datadog-labs/agent-skills automates Datadog audit evidence collection into compliance-ready reports, highlighting control gaps and remediation priorities for teams gating production releases on security posture.
- Datadog audit evidence aggregation
- Compliance gap identification
- Remediation priority lists
- Release readiness reporting
- Agent-guided control mapping
Dd Audit Compliance Report by the numbers
- 256 all-time installs (skills.sh)
- Ranked #676 of 2,203 Security skills by installs in the Skillselion catalog
- Data as of Jul 30, 2026 (Skillselion catalog sync)
npx skills add https://github.com/datadog-labs/agent-skills --skill dd-audit-compliance-reportAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 256 |
|---|---|
| repo stars | ★ 147 |
| Last updated | July 29, 2026 |
| Repository | datadog-labs/agent-skills ↗ |
What it does
Produce Datadog audit and compliance reports summarizing control posture, evidence gaps, and remediation priorities before or during release reviews.
Files
Audit Trail: Compliance Evidence Report
Generate auditor-ready evidence from Datadog Audit Trail for SOC 2 and PCI DSS control requirements.
Prerequisites
pup auth login # OAuth2 (recommended)
# or set DD_API_KEY + DD_APP_KEY with audit_logs_read scopeRead First
See references/control-mapping.md for the full control → query mapping table and retention requirements by framework.
Retention Check (Run First)
PCI requires 12 months. Datadog default retention is 90 days. Check whether archive is configured:
pup audit-logs search --query "@evt.name:\"Audit Trail\" @action:modified" --from 90d -o json \
| jq '[.data[] | {
timestamp: .attributes.timestamp,
user: .attributes.attributes.usr.email,
action: .attributes.attributes.action,
resource: .attributes.attributes.asset.type
}]'If the requested time window exceeds 90 days and no archive is confirmed, surface this gap in the report header.
Workflow
1. Confirm: framework (SOC 2 / PCI DSS), time window, org scope 2. Run retention check 3. Run each relevant control query 4. Format output using the Evidence Report template
---
SOC 2 Queries
CC6.2 — User Provisioning / Deprovisioning
pup audit-logs search \
--query "@evt.name:\"Access Management\" @asset.type:user @action:(created OR deleted OR modified)" \
--from PERIOD_START --to PERIOD_END --limit 500 -o json \
| jq '[.data[] | {
timestamp: .attributes.timestamp,
actor: .attributes.attributes.usr.email,
action: .attributes.attributes.action,
affected_user: .attributes.attributes.asset.id
}]'CC6.3 — Role and Permission Changes
pup audit-logs search \
--query "@evt.name:\"Access Management\" @asset.type:role" \
--from PERIOD_START --to PERIOD_END --limit 500 -o json \
| jq '[.data[] | {
timestamp: .attributes.timestamp,
actor: .attributes.attributes.usr.email,
action: .attributes.attributes.action,
role_id: .attributes.attributes.asset.id
}]'CC6.6 — Failed Logins and Suspicious Access
pup audit-logs search \
--query "@evt.name:Authentication @action:login @status:error" \
--from PERIOD_START --to PERIOD_END --limit 500 -o json \
| jq '[.data[] | {
timestamp: .attributes.timestamp,
user: .attributes.attributes.usr.email,
ip: .attributes.attributes.network.client.ip,
country: .attributes.attributes.network.client.geoip.country.name
}]'CC7.2 — Privileged / Support User Actions
pup audit-logs search \
--query "@evt.actor.type:SUPPORT_USER" \
--from PERIOD_START --to PERIOD_END --limit 500 -o json \
| jq '[.data[] | {
timestamp: .attributes.timestamp,
support_actor: .attributes.attributes.usr.email,
action: .attributes.attributes.action,
resource_type: .attributes.attributes.asset.type,
resource_id: .attributes.attributes.asset.id
}]'---
PCI DSS Queries
PCI 10.2.2 — Actions by Privileged Users
Same as CC7.2 above. Also include org-level admin actions:
pup audit-logs search \
--query "@evt.name:\"Organization Management\"" \
--from PERIOD_START --to PERIOD_END --limit 200 -o json \
| jq '[.data[] | {
timestamp: .attributes.timestamp,
actor: .attributes.attributes.usr.email,
action: .attributes.attributes.action,
resource_type: .attributes.attributes.asset.type
}]'PCI 10.2.3 — Access to Audit Trail Itself
pup audit-logs search \
--query "@evt.name:\"Audit Trail\"" \
--from PERIOD_START --to PERIOD_END --limit 200 -o json \
| jq '[.data[] | {
timestamp: .attributes.timestamp,
actor: .attributes.attributes.usr.email,
action: .attributes.attributes.action,
resource_type: .attributes.attributes.asset.type
}]'PCI 10.2.4 — Invalid Access Attempts
Same as CC6.6 failed logins above.
PCI 10.2.5 — All Authentication Events
pup audit-logs search \
--query "@evt.name:Authentication @action:login" \
--from PERIOD_START --to PERIOD_END --limit 1000 -o json \
| jq '[.data[] | {
timestamp: .attributes.timestamp,
user: .attributes.attributes.usr.email,
auth_method: .attributes.attributes.auth_method,
result: .attributes.attributes.status,
ip: .attributes.attributes.network.client.ip,
country: .attributes.attributes.network.client.geoip.country.name
}]'PCI 10.2.7 — Object Creation and Deletion
pup audit-logs search \
--query "@action:(created OR deleted)" \
--from PERIOD_START --to PERIOD_END --limit 1000 -o json \
| jq '[.data[] | {
timestamp: .attributes.timestamp,
user: .attributes.attributes.usr.email,
action: .attributes.attributes.action,
resource_type: .attributes.attributes.asset.type,
resource_id: .attributes.attributes.asset.id,
ip: .attributes.attributes.network.client.ip
}]'---
Evidence Report Template
# Datadog Audit Trail — Compliance Evidence Report
Framework: [SOC 2 / PCI DSS]
Organization: [org name]
Period: [start] to [end]
Generated: [date]
## Scope Boundary
This report covers administrative actions within the Datadog platform.
It does not cover actions taken within systems that Datadog monitors.
## Retention Status
[✓ Full period covered by Audit Trail retention]
[⚠ Requested period exceeds 90-day default. Archive config required for complete coverage.]
---
## [Control ID] — [Control Name]
Events found: [N]
| Timestamp | Actor | Action | Resource Type | Resource ID | IP | Country |
|-----------|-------|--------|---------------|-------------|-----|---------|
| ... | ... | ... | ... | ... | ... | ... |
[Repeat per control]
---
## Gaps
[List any controls where data was unavailable or incomplete, and why]Scope Caveat
Datadog Audit Trail covers the Datadog platform as the system being audited. For PCI purposes, this is evidence that the monitoring platform's access controls are functioning — not direct evidence about the cardholder data environment (CDE) itself. Auditors should understand this scope boundary.
References
Compliance Control → Audit Trail Query Mapping
Scope Boundary
Datadog Audit Trail documents actions within the Datadog platform:
- Who logged in, from where
- Who changed monitors, dashboards, log pipelines, integrations, roles, API keys
- What the Bits AI assistant did on behalf of users
It does not document:
- Actions within systems that Datadog monitors (AWS, GCP, application servers)
- Content of data ingested by Datadog (logs, traces, metrics values)
- Network activity between user systems and Datadog
SOC 2 Trust Services Criteria
| Control | Description | Audit Trail Query | Fields Used |
|---|---|---|---|
| CC6.1 | Logical access controls implemented | Review role assignments | @evt.name:"Access Management" @asset.type:role |
| CC6.2 | User registration and deprovisioning | User lifecycle events | @evt.name:"Access Management" @asset.type:user @action:(created OR deleted) |
| CC6.3 | Role-based access | Permission change log | @evt.name:"Access Management" @asset.type:role |
| CC6.6 | Logical access boundaries | Failed logins, geo anomalies | @evt.name:Authentication @action:login @status:error |
| CC6.8 | Prevent unauthorized access | API key management | @evt.name:Authentication @asset.type:api_key |
| CC7.2 | System monitoring — anomaly detection | Privileged/support access | @evt.actor.type:SUPPORT_USER |
| CC7.3 | Event response | Changes during incident window | Time-scoped @action:modified + @evt.name filter |
| A1.1 | Availability monitoring | Monitor create/delete events | @evt.name:Monitor |
PCI DSS Requirement 10 — Audit Logging
| Req | Description | Audit Trail Query | PCI Field Mapping |
|---|---|---|---|
| 10.2.1 | Access to cardholder data | Dashboard/resource access events | @http.method:GET @asset.type:dashboard |
| 10.2.2 | Actions by root/privileged users | Support user and org admin events | @evt.actor.type:SUPPORT_USER |
| 10.2.3 | Access to audit trail | Audit Trail config events | @evt.name:"Audit Trail" |
| 10.2.4 | Invalid access attempts | Failed authentication events | @evt.name:Authentication @status:error |
| 10.2.5 | Use of identification/auth mechanisms | All login events | @evt.name:Authentication @action:login |
| 10.2.6 | Initialization/stopping of audit logs | Audit retention setting changes | @evt.name:"Audit Trail" @action:modified |
| 10.2.7 | Creation/deletion of system objects | All create/delete events | @action:(created OR deleted) |
| 10.3.1 | User identification | @usr.email field | Present on all user-initiated events |
| 10.3.2 | Event type | @action, @evt.name fields | Present on all events |
| 10.3.3 | Date and time | timestamp field | ISO 8601 UTC on all events |
| 10.3.4 | Success/failure indication | @status field | info/error/warn |
| 10.3.5 | Origination of event | @network.client.ip field | Present on most events |
| 10.3.6 | Identity of affected data/component | @asset.type, @asset.id fields | Present on resource events |
| 10.7 | Retain audit logs ≥12 months | Check archive config | Default 90 days — must configure archive |
Retention Requirements by Framework
| Framework | Required retention | Datadog default | Gap? |
|---|---|---|---|
| SOC 2 | Auditor discretion (typically 12 months) | 90 days | Yes — configure archive |
| PCI DSS | 12 months minimum | 90 days | Yes — configure archive |
| ISO 27001 | 3 years typical | 90 days | Yes — configure archive |
| HIPAA | 6 years | 90 days | Yes — configure archive |
To configure archive: Datadog UI > Security > Audit Trail > Configure > Archive to S3/GCS/Azure Blob.