Signing Request ID: <id> near the top of every page. This identifier cannot be removed with a workspace or API setting.
Common use cases:
- Compliance and legal evidence — prove who signed what, when, and from where
- Debugging signer issues — see exactly what a recipient did during their signing session
- Internal reporting — track admin actions like creation, edits, and cancellations
- Signer events — document views, field interactions, signing, declining, certificate downloads
- Admin events — creation, edits, sending, cancellation, resending (via dashboard or API)
Viewing the audit trail in the dashboard
Open any signing request in the Firma dashboard and click the Audit Trail tab. You’ll see a chronological timeline of all events, with signer actions and admin actions visually distinguished. Consecutive repetitive events (like scrolling or repeated field interactions) are automatically condensed with a count indicator.Authentication on the completion certificate
Every signer row on the completion certificate carries anAuthentication: line that reads Email Link or Email Link + One-Time Code. For a code signer, the line ends with (code verified <time>), the time the signer entered the code. The Identity row at the top of the certificate shows the shared method, or Mixed (see signers) when the signers differ. The code time can precede the Viewed time printed above it, because the signer enters the code before the document loads.
Retrieving the audit trail via API
Use the audit endpoint to fetch the full event history for a signing request:curl
Node.js
Python
Example response
Response fields
Understanding event sources
Thesource field tells you whether an event came from a signer or an admin, and the actor field has a different shape for each.
Signer events
Events withsource: "signer" are actions taken by recipients during the signing flow. The actor object contains the signer’s name and email. The ip_address field is populated.
organization_seal_*) use source: "signer" with actor and ip_address set to null. Firma.dev records them when it applies, pauses, swaps, or repins a seal, and details holds the seal’s data.
Admin events
Events withsource: "admin" are actions taken via the dashboard or API. The actor object contains a type field ("api_key" or "user") and optionally a user_id. The ip_address field is null.
- Cancel from the dashboard:
Signing Request Cancellation requested - Delete from the dashboard:
Signing Request Deletion requested - Certificate retry:
Certificate regeneration requested
Signing Request Cancelled / Signing Request Deleted).
Real-time tracking via webhooks
If you need real-time notification of signer events rather than polling the audit endpoint, Firma supports webhooks. See the Webhooks guide for setup instructions.Event reference
Document lifecycle
Signature and verification
Two events identify the verified one-time code by its record ID (
otp_code_id) in details; the code itself is not included:
otp_verified:{"channel": "email", "otp_code_id": "<uuid>"}document_finished:{"otp_code_id": "<uuid>"}, present when the finishing session was linked to a verified code
Field interactions
Field interactions are tracked asfield_interaction events. The details object contains the specific action and field metadata.
The
details object for field interactions includes:
Navigation
Organization seals
Firma.dev records these events for an organization seal on the request when it is applied, paused, swapped, or repinned.Admin activity
Admin events useevent: "activity" with a human-readable description field that describes the action taken (e.g., “Created signing request via API”, “Sent signing request”, “Cancelled signing request”).