Skip to main content
Guides

Getting your GDPR report

How to request a GDPR report (Art. 15 access and Art. 20 portability) in RestWard — what the report contains, how the encrypted 7-day download link is delivered by e-mail, and the export limits.

An Administrator of an organization can request a GDPR report: a copy of the personal data RestWard holds on the organization and its members. The report serves both GDPR Art. 15 (access, as a readable summary) and Art. 20 (portability, as machine-readable JSON). You can request it while the organization is active and during the 30-day deletion grace period — the natural moment to download your data before deleting the organization.

Requesting a report

  1. In the dashboard, open the organization's Settings and choose Get GDPR report. The same action is offered when you request deletion, so you can download first.
  2. The request is accepted with 202 and returns an export id — API: POST /api/v1/organizations/{id}/gdpr-exports.
  3. The dashboard shows the export's status — API: GET /api/v1/organizations/{id}/gdpr-exports/{exportId}.
  4. When the report is ready, an e-mail arrives at your verified address containing only a download link — never the data itself.

Downloading

  • The link (GET /api/v1/organizations/{id}/gdpr-exports/{exportId}/download) opens a page that requires sign-in and works only for the Administrator who requested the report. The same link on another account — including another Administrator — gets 403/404.
  • The link is valid for 7 days. After that the file is deleted and the export is marked expired.
  • The report is a ZIP stored encrypted (AES-256-GCM, key wrapped by the platform's Data Protection API). It is deleted on expiry, on cancel, and when the organization is purged — so if a report is still stored when a deletion's 30 days are up, the purge removes it. Download before then.

What is in the report

  • manifest.json — export id, generation time, scope, per-file row counts, SHA-256 checksums, and truncated flags where a category hit its cap.
  • data/*.json — one machine-readable file per category: organization and verified domains; members and roles; invitations; database connections (metadata only — never passwords, certificates or wallets); APIs, endpoints and documentation; API keys (prefix and metadata only); audit entries; usage counts; invoices and billing; sessions; SSO/SCIM configuration.
  • summary.html — a self-contained readable summary (no scripts): what RestWard holds, for what purpose, the retention rules, the counts per category, and what is excluded and why.

The export is an allow-list: a field that is not mapped is not exported, so passwords, key material, tokens and encrypted fields are excluded by construction, not by redaction. If the export fails, you get an e-mail saying so and nothing is stored.

Limits

  • One export in progress per organization — starting a second while one runs returns 409. After a completed export there is a 24-hour cooldown (429 with Retry-After).
  • Bounds: the audit categories stream at most 250,000 rows each, and the whole ZIP is capped at 500 MB uncompressed. Above a cap the file is written up to the cap, the manifest flags truncated: true with the total count, and the summary says so — the export does not fail.

See also

Reconnecting to server...

Please wait while we restore your connection

Connection lost

Retrying in seconds...

Unable to reconnect

The server connection has been lost.
You may need to log in again.

Session Paused

The server has temporarily paused your session.

Session Expired

Your session could not be resumed.
Please reload the page to continue.