Sessions & Package CDRs

How ExpressConsent bundles related CDRs into a single composite record for multi-step consent flows.

Why Package CDRs matter

Many lead generation websites have consent flows that span multiple pages. A user might fill out personal information on page one, select preferences on page two, and agree to terms on page three. Each page captures a CDR, but individually those CDRs only tell part of the story.

A Package CDR solves this by bundling all CDRs from the same user session into a single, unified record. That makes it straightforward to present the complete consent flow, showing exactly what the user saw and agreed to at every step, with proof that it was the same user (same IP, same session, continuous timestamps).

The model

  • A CDR is one piece of evidence, identified by cdrId. CDRs are the billable unit.
  • A Session groups CDRs from the same browser tab. The SDK manages sessions automatically.
  • A Package CDR is a composite record that bundles CDRs from the same session. The package detail view shows the complete session context: a capture timeline, consolidated signer telemetry, and all individual CDRs together.

Multi-step flows

Call captureCDR() at each consent moment in the same tab. The SDK reuses the session and groups the captures into one Package CDR.

javascript
// Step 1 (consent page)
const r1 = await window.ExpressConsent.captureCDR();

// Step 2 (confirmation page, same tab)
const r2 = await window.ExpressConsent.captureCDR();

// Both CDRs share the same session and appear in one Package CDR.

Package CDR sharing Coming soon

Today, individual CDRs can be shared via share links or the API. Package CDR sharing, where you share all CDRs from a session as a single composite record, is coming soon. When available, you will be able to generate one share link for an entire Package CDR so your partners can view the complete consent flow in one place.

In the meantime, share individual CDRs using the existing sharing mechanisms. When a buyer receives multiple CDRs from the same session, they automatically appear together in the buyer’s Package CDRs view.

What to store

  • Always store cdrId.
  • Store shareUrl if you use autoShare, and send it with your lead to the buyer.
  • Store packageData if you build package-aware workflows (multi-step evidence presentation, buyer bundles). It contains packageId.

Common pitfalls

  • Capturing from different tabs creates separate sessions (and separate Package CDRs).
  • Long idle gaps between steps can roll the session over, splitting the flow into multiple Package CDRs.