Skip to main content

[Admin] Auditing cancellations

Every cancellation — member-initiated or admin-initiated — writes an entry to the `membership-package-history` collection. The log is append-only: no one (including platform admins via the UI) can edit or delete entries.

What's recorded for each cancellation:

  • Who cancelled (member uid or admin uid)
  • Their name and when
  • The membership id, tier/plan id, organization id
  • The effective end date
  • Whether the member was grandfathered (notice period snapshotted at signup) or used the current policy
  • Any reason the admin supplied (optional)

What's recorded for each policy change:

  • Who changed the policy (admin uid + name)
  • Before/after notice period values
  • Timestamp and optional reason

Viewing the log:

  • Per-package: click the History panel on any tier/plan card in your admin view. Shows all actions on that specific package.
  • Organisation-wide: use the Scheduled changes dashboard widget above the tier/plan list — it spans every package.

Compliance uses:

  • Proof of disclosure at signup (the `cancellationPolicyAcknowledgedAt` timestamp on the membership doc).
  • Proof of notice at cancel time (the history entry + the computed `effectiveDate`).
  • Proof of policy version (the `cancellationPolicyAcknowledgedVersion` integer increments when we refine the policy text).

Exporting:

History entries can be exported via the backend CF `getMembershipPackageHistory` (admin-only callable). The current UI shows the most recent 50 entries; for compliance exports, contact support for a full dump.

Still have questions?