Compliance reports: what EdgeGuard can evidence for PCI-DSS, SOC 2, HIPAA, GDPR and eleven other standards, how a report is put together, and what it will not claim.
A report is a statement about a period, built from what EdgeGuard actually recorded in that period. It is generated on demand or on a schedule, stored, and downloaded as PDF, HTML or CSV.
It is evidence, not a certificate. EdgeGuard can show that a control was in place and that it acted; it cannot show that your organisation is compliant, and the reports are careful about that distinction — where a control is outside a WAF's reach, the report says so rather than passing over it.

Every report generated, with its standard, period, who generated it, and when. Download gives you the file; Delete removes the stored report.
Page actions: Generate Report · download · delete · manage the schedules listed below the table.
Click Generate Report.

Generation is synchronous and takes a few seconds; the report appears in the table when it is done.
| Type | What it contains | Who reads it |
|---|---|---|
| Evidence | the raw telemetry for the period — traffic, blocks, attack categories, top sources, incidents | operations, and an auditor who asks for underlying data |
| Control Mapping | each control of the standard against the EdgeGuard capability that addresses it | gap analysis, before an assessment |
| Compliance Readiness | status per control, with gaps and findings stated plainly | the auditor |
| Combined | all three | the usual choice |
PCI-DSS v4.0.1 · SOC 2 Type II · HIPAA · GDPR · ISO 27001:2022 · OWASP Top 10 · NIST CSF v2.0 · CIS Controls v8 · FedRAMP · NIST SP 800-53 · CSA CCM · PSD2 · CCPA/CPRA · OWASP API Security Top 10.
Everything in it comes from data EdgeGuard already holds for the period: the security events, the audit trail, the configuration as it stands, the agents' reported state, the incidents and the attack surface inventory.
Two consequences follow, and both matter more than they look.
The period must be inside your retention. Security events are pruned at the retention set in Global Settings — 90 days by default. A report for a period older than that is not wrong; it is empty, because the evidence was deleted. If you need annual reports, either raise retention or ship events to a destination that keeps them (see Log Connectors).
The audit trail is not pruned. Administrative history is kept indefinitely, whatever the event retention says. A report's remark about retention refers to the event retention setting; the trail of who changed what goes back to the day you installed.
The reports are written to survive being read by somebody sceptical, which means several sections exist to undermine over-claiming:
schedule (someone@example.com) — the distinction an auditor asks about first.The download offers three formats:
# The same three, over the API
curl -H "Authorization: Bearer $TOKEN" \
"https://central.example.com:8082/api/v2/compliance/reports/$ID/download?format=pdf" -o report.pdf
curl -H "Authorization: Bearer $TOKEN" \
"https://central.example.com:8082/api/v2/compliance/reports/$ID/download?format=csv" -o report.csv
A schedule generates the same report automatically, for the window that just closed: weekly covers the previous seven days, monthly the previous month, quarterly the previous three months. The worker checks every fifteen minutes; a schedule created today first runs when its next date arrives.
The schedules table shows Next run and Last run. A schedule that has never produced anything says not yet; one whose generation failed says failed, with the reason on hover.
Scheduled reports need central 2.4.24 or later. Before that the schedule was stored and never executed — if you have schedules older than that upgrade, their first real run is after it.
Scheduled reports are always the combined type: a schedule records a standard and a frequency and nothing narrower, so narrowing it would be inventing an answer nobody gave.
1. Generate a short one first. A week, evidence type, the site you know has traffic. If the totals match what Analytics shows for the same week, the pipeline is sound.
2. Check the period boundaries. The report states its window in UTC on the first page. A report that looks empty is usually a window that ended before the traffic.
3. Check attribution. Your own email on a manual report; schedule (…) on an automatic one. This is what tells the auditor the monthly report was not produced the morning of the audit.
4. Confirm a schedule actually ran. After its first due date, Last run carries a date. If it says not yet well past the date, central was not running then — the worker catches up on its next tick rather than skipping the window.