Skip to main content

Concepts

Organizations

An organization is your B2B tenant. Members belong to an org; entitlements and API keys are scoped to that org.

Entitlements

An entitlement is a named limit or flag you attach to end-users (or org-level defaults, depending on your model). Examples:

  • Quota — max units per period (e.g. API calls / month).
  • Counter — cumulative usage.
  • Feature flag — on/off access to a product area.

You define entitlements in the dashboard; the data plane enforces them when your product calls the tracking API.

API keys

API keys are issued in the dashboard and presented as Authorization: Bearer recurfy_sk_... to the data plane. Keys are hashed at rest; only the dashboard shows the plaintext once at creation.

End-users

Your product identifies end-users with a stable external ID (e.g. your customer’s user id). Usage and entitlement state are keyed by that id so limits apply per seat or per account the way you model it.

Control plane vs data plane

  • Control plane — slower, admin-focused: orgs, invites, entitlement definitions, key issuance.
  • Data plane — optimized for /v1/track and related reads: high volume, low latency, backed by Postgres.

Cloud Functions mirror selected Firestore writes into the API’s /internal/* routes using a shared service token.