Skip to content

Contract: Actor identity

Status

Draft.

Purpose

This contract defines the minimum identity guarantees for BooksPlus actors.

Contract

Every protected BooksPlus action must be attributable to a BooksPlus actor.

A BooksPlus actor must represent one of:

  • a mapped local operating system user;
  • an explicitly defined application user;
  • a service identity;
  • a temporary support identity.

The canonical actor types are:

  • MappedOperatingSystemUser;
  • ApplicationUser;
  • ServiceIdentity;
  • SupportIdentity.

Developer and test identities must use one of these actor types. BooksPlus must not add a special Developer actor type that bypasses normal authorization.

Required fields

A BooksPlus actor should include:

  • stable actor identifier;
  • display name;
  • actor type;
  • status;
  • created timestamp;
  • created by actor;
  • disabled or retired timestamp when applicable;
  • disabled or retired by actor when applicable.

Rules

  • Actors with historical activity must not be deleted.
  • Actors may be active, disabled, or retired.
  • Retired actors must remain visible in historical audit trails.
  • Service identities must be clearly distinguishable from human users.
  • Support identities must be temporary and auditable.
  • Protected actions may be performed only by active actors.
  • Actor authorization must be evaluated with company context as defined by the Company Identity and Context contract when the action affects company data or company configuration.
  • Development and test seed actors must be unavailable in production company data unless an explicit development or test mode is active.

Acceptance criteria

  • A posted accounting entry records the responsible actor.
  • A security audit event records the responsible actor.
  • A retired actor remains visible in historical reports.
  • Attempting to delete an actor with historical activity is blocked or converted to retirement.
  • A disabled or retired actor cannot perform a protected action.
  • A developer test actor uses ordinary actor identity, permission, policy, and audit behavior.