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 viaAuditService, never raw Prisma writes. Seedocs/iam/ADR-005-audit-impersonation.md. - Impersonation (
ImpersonationSession) — aSUPER_ADMINacting as another user, always audited, always endable. Gated bySuperAdminGuard(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 aUserto anOrganization; 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 anyPlatformRoleat 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 aRoleviaRolePermission. Seedocs/iam/PERMISSIONS_CATALOG.mdfor the live catalog. - PlatformPermission (
PlatformPermission) — the platform-tier equivalent (platform:*), granted to aPlatformRole. Distinct table and distinct guard pipeline fromPermission— 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 likeP4P Owner/P4P Admin/P4P Member; custom). - SUPER_ADMIN — the one system
PlatformRolethat bypassesPlatformRoleGuardpermission checks entirely. Distinct from holding everyplatform:*permission explicitly (which the seededP4P Super Admin/P4P Ownerroles also do, redundantly, for UI display purposes — seedocs/iam/PERMISSIONS_CATALOG.md). - Tenant — an Organization, in the context of request-scoped isolation (
TenantGuard,X-Organization-Idheader). Seedocs/iam/ADR-002-multi-tenancy.md. - User (
User) — a platform-level identity, independent of any single Organization. See Architectural tiers.