Data stored in the CMS

Klub stores provider data on the user and uses caches to reduce provider API calls. Use this page if you need to document storage for compliance.

Provider data field

Each provider stores a YAML blob on the user in the field defined by bnomei.klub.providers.{provider}.field (default: provider key). The data typically includes:

  • customerId
  • payments (one-time price IDs)
  • Provider-specific metadata

The data can be encrypted using bnomei.klub.crypto.encrypt.

Gates and progress fields

  • Manual gates are stored on the user field defined by ProviderGates::$field (default: gates).
  • Progress entries are stored on the user field defined by UserFieldProgress::$field (default: progress).

Caches

Klub uses internal caches for provider calls and derived data:

  • bnomei.klub.gates for resolved gates per user
  • bnomei.klub.actions for subscription actions
  • bnomei.klub.ratelimit for rate limiting

Cache duration is controlled by bnomei.klub.caching (minutes).

You can clear all Klub caches with:

klub()->flush();
Kirby Klub is not affiliated with the developers of Kirby CMS. We are merely standing on the shoulder of giants.
© 2026 Bruno Meilick All rights reserved.