---
id: CON-PFM-OPS-003
name: Licence
feature: FEAT-PFM-OPS-03
product_area: platform
module: operations
revision: 1
status: draft
product_intent: confirmed
implementation_evidence: partially-observed
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
definition: >-
  A licence identifies the commercial coverage or staff decision supporting an application’s use in a
  workspace. Operational readiness and personal authority remain additional access inputs.
owned_by: MOD-PFM-OPS
synonyms:
  - commercial coverage
  - staff licensing exception
not_to_be_confused_with:
  - Application operational readiness
  - Individual application authority
  - An unrestricted administrative bypass
facets:
  - name: Staff override
    meaning: A reasoned grant or withhold with an effective period and retained revocation history.
    used_for: Recording commercial exceptions.
  - name: Contract window
    meaning: Derived application coverage and its grace boundaries.
    used_for: Explaining commercial eligibility over time.
  - name: Company link and commercial copy
    meaning: The referenced company’s synchronized terms and read health.
    used_for: Identifying and diagnosing the commercial source.
  - name: Product map
    meaning: The declared expansion of products into grants.
    used_for: Resolving contract lines consistently.
  - name: Licence standing
    meaning: The commercial explanation of coverage or refusal today.
    used_for: Supporting staff explanation and customer presentation.
  - name: Export allowance
    meaning: The current customer or workspace allowance with prior decisions retained.
    used_for: Bounding exports under the export module’s administration.
relationships:
  - to: CON-PFM-OPS-004
    statement: >-
      Commercially licensed applications also require enabled operational state; always-available applications
      follow a separate exception.
    provenance: test
    source: >-
      services-platform:modules/licensing/tests/unit/availability/application-availability.spec.ts#is
      unavailable and not_provisioned when the contract licenses it but nothing has set it up
  - to: CON-PFM-SEC-002
    statement: 'Workspace contract coverage follows its company link, which production and sandbox workspaces can share.'
    provenance: documented
    source: 'services-platform:docs/licensing.md#10. The HubSpot source: contracts become licences'
  - to: CON-PFM-SEC-001
    statement: Export allowances can use customer scope with a more specific workspace decision.
    provenance: observed
    source: 'services-platform:modules/licensing/db/data-export-entitlements.table.ts'
lifecycle:
  - state: scheduled
    meaning: The effective period has not begun.
    how_it_changes: The declared start boundary arrives.
  - state: in force
    meaning: The commercial decision or term currently counts.
    how_it_changes: Its boundary passes or a governing decision removes its effect.
  - state: in grace
    meaning: The finite term has ended but its grace remains.
    how_it_changes: Renewal restores term coverage or the remaining grace elapses.
  - state: ended
    meaning: The term or decision no longer supplies coverage.
    how_it_changes: Later coverage requires a renewed term or another decision.
acted_on_by:
  - CAP-PFM-OPS-011
  - CAP-PFM-OPS-012
  - CAP-PFM-OPS-013
  - CAP-PFM-OPS-014
visible_to:
  - ACT-PFM-001
  - ACT-PFM-004
  - ACT-PFM-005
  - ACT-PFM-006
  - ACT-PFM-043
evidence:
  - >-
    services-platform at ad3f6a6: docs/licensing.md (all sections);
    docs/proposals/application-access-and-entitlements.md (status, §10 decisions D1–D11);
    docs/proposals/licensing-entitlements-billing/17-decision-register.md §1; modules/licensing (catalog, db,
    hubspot, services, routes, tests).
  - >-
    react-console at baf6dae: components/console/hq/tenant-licensing-card.tsx, licensing-dialogs.tsx;
    e2e/dev/hq-licensing.dev.spec.ts.
supersedes: []
---

# Licence

## What It Is

A licence expresses the commercial basis for using a Rhythm application in a workspace. It can come from the customer’s contract terms or from a recorded Rhythm staff decision. The licence explains commercial eligibility; the application’s readiness and a particular person’s permissions answer additional questions before work can proceed.

A contract-derived licence is represented by an application window associated with a HubSpot company. Several workspaces may read that same commercial identity. A staff override instead addresses one workspace and application with a reason and effective period. Both forms can explain present eligibility, but they have different origins and histories. The licensing capabilities define their precedence and time boundaries.

## What It Is Not

A licence does not by itself prepare the application’s data or configuration. For applications requiring commercial coverage, operational readiness remains another input to availability. Always-available applications follow their explicit exception in that decision.

The licence also does not give every person in the workspace every application permission. Individual access derives from the security model. A staff override is a recorded commercial exception rather than an unrestricted administrative bypass. Keeping these meanings separate helps staff explain why an apparently licensed application still cannot be opened.

## How It Is Used

Rhythm staff inspect workspace licensing in HQ to understand the decisions behind access. They may grant a trial or bridge a commercial delay, withhold an application deliberately, or withdraw a prior exception. Historical decisions remain relevant to explaining how the workspace reached its present standing.

The contract source reads HubSpot terms and products and derives coverage windows. Synchronization health distinguishes a complete commercial read from a missing configuration or provider failure. The prior snapshot remains available during a failed read, but its known dates continue to govern eligibility. The pinned operating record describes live source activation as pending, so the examined contract behavior rests on code and stubbed evidence rather than a completed real-provider rollout.

## Its Facets

**Staff override.** A grant or withhold records an intentional workspace decision with an explanation and period. Revocation ends its effect without replacing the original decision.

**Contract window.** Derived application coverage combines eligible terms and renewals. Its end and grace dates help explain upcoming or completed expiry.

**Company link and commercial copy.** The workspace identifies which company’s contracts apply. Rhythm keeps a read-only copy and synchronization health for diagnosis.

**Product map.** The declared mapping translates commercial products into application and feature grants. Unknown products need attention rather than silently granting access.

**Licence standing.** Readable states distinguish ordinary coverage, override coverage, grace, expiry, withhold and absence. Staff retain distinctions deliberately simplified in the customer response.

**Export allowance.** Customer or workspace allowances bound full data exports and keep a history of replacement decisions. They are a related commercial facet administered through the export owner.

## How It Relates

Workspace applications combine licence standing with operational readiness. Security consumes availability and separately evaluates a person’s access. Company-level windows can outlive deletion of one workspace because other workspaces still depend on them. Staff decisions attempt security-history entries and authorization invalidation after commercial writes, with failure gaps recorded for examination.

## What It Could Become

The product should reconcile this implemented model with the later governed-entitlement decisions before design proceeds. Renewal warnings are accepted intent but remain missing. Contract synchronization also needs an explicit route from new commercial coverage to missing application setup. A real-provider activation should confirm source properties and compare one known customer’s resulting windows before broader synchronization changes access.
