Skip to content

Retention Management

Retention management controls how session recordings and certificates are stored, converted, and cleaned up over time. Each plan includes a monthly retention quota, and you can configure auto-retention behavior, overage alerts, and MP4 conversion.

Your monthly retention quota depends on your plan tier:

PlanMonthly retentions includedOverage rate
Starter ($199/mo)1,000$0.12 to $0.064 per certificate
Growth ($750/mo)10,000$0.12 to $0.064 per certificate
Enterprise ($1,500/mo)Up to 50,000$0.12 to $0.064 per certificate
High Volume (Custom)50,000+Custom

Overage rates decrease at higher volumes.

Auto-retention controls whether session recordings are automatically stored and counted against your retention quota.

SettingTypeDescription
autoRetentionEnabledbooleanWhether auto-retention is active
autoRetentionModestringall (retain all sessions) or certificates (retain only sessions that generated a certificate)
notifyOnOveragebooleanSend email alerts when quota is exceeded
overageNotificationEmailsarrayList of email addresses to receive overage alerts
  1. Navigate to Settings > Retention in your dashboard at app.econsent.org.
  2. Toggle Auto-Retention on or off.
  3. Select the retention mode:
    • All Sessions: Retains every session recording, whether or not a certificate was generated.
    • Certificates Only: Retains only sessions that resulted in a certificate. This is more efficient for quota usage.
  4. Enable Overage Notifications and add email addresses to receive alerts.
  5. Save.

eConsent provides two sets of retention endpoints: public API endpoints for programmatic retention from your backend, and dashboard endpoints used by the eConsent dashboard (authenticated via session).

Use this endpoint from your backend to retain a session recording. This stores the rrweb recording data so it remains available beyond the default expiration window. Your wallet is charged the session retention cost.

POST https://api.econsent.org/verify/session/:company_id
Terminal window
curl -X POST https://api.econsent.org/verify/session/YOUR_COMPANY_ID \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"session_id": "session-123"
}'

Use this endpoint to retain a certificate and its associated session recording. Your wallet is charged the certificate retention cost.

POST https://api.econsent.org/verify/certificate/:company_id
Terminal window
curl -X POST https://api.econsent.org/verify/certificate/YOUR_COMPANY_ID \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"session_id": "session-123"
}'

These endpoints are used by the eConsent dashboard and require authenticated session credentials. They are documented here for reference if you are building custom integrations against the dashboard API.

POST https://api.econsent.org/api/retention/convert

Retains a single session recording (MP4 conversion and permanent storage).

POST https://api.econsent.org/api/retention/convert-batch

Retains up to 100 sessions in a single request.

GET https://api.econsent.org/api/retention/quota

Returns your current month’s quota usage:

{
"plan": "growth",
"quota": 10000,
"used": 7523,
"remaining": 2477,
"period": "2026-04",
"overage": false
}
GET https://api.econsent.org/api/retention/stats

Returns a detailed breakdown of retention usage by property, including session counts, certificate counts, and storage metrics.

PUT https://api.econsent.org/api/retention/settings

Update auto-retention configuration. Available fields:

FieldTypeDescription
autoRetentionEnabledbooleanEnable or disable auto-retention
autoRetentionModestring"all" to retain every session, or "certificates" to retain only sessions with a generated certificate

Sessions follow this lifecycle:

  1. Created. A new session is created when the tracker initializes on a page.
  2. Recording. DOM events are captured and streamed to the eConsent API.
  3. Certified. If the user submits a form with consent elements, a certificate is generated and linked to the session.
  4. Retained. Based on auto-retention settings, the session recording is either retained (counted against quota) or discarded.
  5. Expired. After the configured expiration period (7 days to 5 years), the session is marked for cleanup.
  6. Cleaned up. A scheduled cron job removes expired sessions from storage.

Session and certificate expiration are configured per property:

DurationUse case
7 daysTesting and development
30 daysShort-term campaigns
60 daysStandard campaigns
1 yearExtended compliance
3 yearsLong-term retention
5 yearsMaximum retention for litigation protection

See Properties & Domains for details on configuring expiration per property.

When you exceed your plan’s monthly retention quota:

  1. If notifyOnOverage is enabled, email alerts are sent to the addresses in overageNotificationEmails.
  2. Additional retentions are billed at the overage rate ($0.12 to $0.064 per certificate, decreasing with volume).
  3. Overage charges are deducted from your wallet balance.
  4. Service continues uninterrupted as long as your wallet has sufficient funds.