Skip to main content
A continuity evidence pack is a signed record of one time window of your organisation: every period offline or degraded and how long it lasted, who or what changed each state, every synchronisation that came afterwards with the result of each item, the channels events came through and the integrity incidents. It is made for DORA, CBUAE and internal audits. The pack is a JSON document signed with ECDSA P-256. The private key lives in a hardware security module (Cloud KMS) and never leaves it. Anyone with the public key can check a pack with openssl, without trusting wede and without access to your account.
A pack never contains business content: no event payloads, no event type codes and no names of people. It holds times, states, channels, counts and results. People and devices appear only as codes of the pack (P1, D1), never as their ids. See Codes for people and devices.

Who can use it

The same roles as the compliance report: company_admin, country_admin, wede_tech_ops and wede_global_admin, with a user session. A company_admin produces packs for their own organisation. The other roles must say which organisation (tenant_id); a country_admin only for organisations in their network. Other roles and API keys receive 403 forbidden.

Generate a pack

string
required
Start of the window, ISO 8601 with a time zone (for example 2026-10-14T08:00:00Z).
string
required
End of the window. It must be after from, cannot be in the future and the window can be at most 92 days.
string
Optional. Limits zone periods, zone state changes and events to this zone. Organisation periods and synchronisations are always included.
string
Required for the wede and country roles. Ignored for an organisation’s own users.
The answer is 201 with the pack:
payload is the signed document itself, as a string. signature is the DER signature, base64 encoded. Every pack is kept, can never be changed or removed, and its creation is recorded in the audit log as compliance.evidence_generated.

List and download

The PDF is for people. The proof is always the JSON.

Check a pack without wede

Put three files in one folder: the JSON of the pack, its signature and the public key (from GET /v1/evidence/public-keys, the entry whose key_id is the key_id of the pack, saved as wede-evidence.pem). Then run:
The answer must be Verified OK. Any change to the JSON, even one character, makes the check fail. Save the JSON exactly as downloaded: opening it in an editor that reformats it breaks the signature. The SHA-256 printed on the PDF is the hash of the same JSON:

What a pack contains

The document is canonical JSON: keys sorted at every level and no spaces, so the same pack always gives the same bytes. All times are UTC.

Codes for people and devices

Each person and each device in a pack gets a code in the order it first appears: P1, P2 for people and D1, D2 for devices. The same person or device has the same code everywhere in that pack, including the person who generated it. Codes belong to one pack: P1 in one pack and P1 in another can be different people. The key that says who or what each code stands for is not in the pack and is never shown to your organisation. wede writes it at the same moment as the pack, so there is never a pack without its key, and keeps it only for the evidence period of your organisation. Only the wede team can read it, and every reading is recorded in the audit log as compliance.evidence_subjects_viewed. At the end of the evidence period the key is anonymised. The signed pack itself never changes, so it can still be checked with openssl afterwards. Packs in format wede-evidence/1, made before 16 October 2026, stay exactly as they were signed and still contain user and device ids. The PDF reads both formats.

Reconstructed periods

Periods, synchronisation records and ingest channels are recorded live from 15 October 2026. Earlier periods were rebuilt and say so:
  • reconstructed_from: "audit_log": rebuilt from the audit log, with the exact time of each change.
  • reconstructed_from: "current_state": rebuilt from the state stored on 15 October 2026; the start time is approximate.
Events created before that date show the channel not_recorded.

Dashboard

In the wede dashboard, Compliance has an Evidence Packs tab: choose the window and, if you want, a zone, press Generate signed pack, and download the JSON, the signature, the public key and the PDF of each pack. Copy check copies the openssl command with the file names of that pack.