Skip to content

Glossary

Terms as used consistently across this wiki, core-api, and docs/. When a term has a Prisma model behind it, the model name is given in backticks.

  • Audit log (AuditLog) — append-only record of security-relevant events (login, role changes, impersonation, org lifecycle...). Enforced immutable by a DB trigger; written via AuditService, never raw Prisma writes. See docs/iam/ADR-005-audit-impersonation.md.
  • Impersonation (ImpersonationSession) — a SUPER_ADMIN acting as another user, always audited, always endable. Gated by SuperAdminGuard (role check, not a delegable permission) — see IAM.
  • Invitation (OrganizationInvitation) — an org-scoped invite to join an Organization with a given set of roles. Not the same model as Platform staff invitation (PlatformStaffInvitation), which is platform-wide, SUPER_ADMIN-only, and never carries organization roles — see Platform Administration.
  • Membership (OrganizationMembership) — the row linking a User to an Organization; carries status (ACTIVE/SUSPENDED/LEFT) and the roles the user holds in that org. Not the same as Platform staff membership (PlatformStaffMembership) — the eligibility gate for holding anyPlatformRole at all, i.e. being recognized as P4P internal staff.
  • Organization (Organization) — the single entity representing every ecosystem participant (company, agency, individual, P4P itself). See What is P4P.
  • Permission (Permission) — an organization-scoped permission string (portal:*, org:*), granted to a Role via RolePermission. See docs/iam/PERMISSIONS_CATALOG.md for the live catalog.
  • PlatformPermission (PlatformPermission) — the platform-tier equivalent (platform:*), granted to a PlatformRole. Distinct table and distinct guard pipeline from Permission — org permissions and platform permissions never mix.
  • Product (Product) / Subscription (OrganizationSubscription) — a product an Organization can be subscribed to; subscriptions are managed by platform admins, not self-service, today.
  • Role (Role) — an organization-scoped role (system: OWNER, ADMIN, MEMBER, VIEWER; or custom, per-org). PlatformRole (PlatformRole) is the separate platform-tier equivalent (system: SUPER_ADMIN; convenience roles like P4P Owner/P4P Admin/P4P Member; custom).
  • SUPER_ADMIN — the one system PlatformRole that bypasses PlatformRoleGuard permission checks entirely. Distinct from holding every platform:* permission explicitly (which the seeded P4P Super Admin/ P4P Owner roles also do, redundantly, for UI display purposes — see docs/iam/PERMISSIONS_CATALOG.md).
  • Tenant — an Organization, in the context of request-scoped isolation (TenantGuard, X-Organization-Id header). See docs/iam/ADR-002-multi-tenancy.md.
  • User (User) — a platform-level identity, independent of any single Organization. See Architectural tiers.