Skip to main content
Wildo.ai Coming soon

Service health

Notice when an organization has no usable owner

Startup diagnostics identify missing or fragile administrative access, with breach evidence and an explicit recovery direction.

A startup report distinguishes missing, single and multiple administrative owners.

Notice when an organization has no usable owner

An organization can lose administrative access through imported data or an out-of-band change, even when normal application actions protect the last owner. Wildo checks the administrative population at startup to make that state visible.

Missing usable owners are reported as errors; a single usable owner receives a warning. A separate application-wide check reports a missing usable super-administrator; its healthy single-administrator case is not the organization-owner warning. These observations help operators act before someone discovers the lockout through a failed task.

Example — Detect a stranded organization after a restore

Restored records leave an organization without an active person holding usable ownership. On startup, the backend reports the organization and records breach evidence when its audit service is available. The operator follows the recovery direction; other organizations can continue running.

For engineers

Read the population under the correct authority

The report resolves roles that confer ownership and checks membership and person status. Its measurement creates a system execution context through the authenticated context factory: a tenant-confined read would be incapable of describing the whole estate.

This excerpt is from startup’s organization-owner report. The arguments are runtime services already resolved by the host; it is not a public endpoint or an instruction to grant a caller system access.

const population = await measureOrganizationsMissingUsableOwner({
  authExecutionContextFactory,
  repositoriesRegistry: this.repositoriesRegistryService,
  errorBuilder: this.errorBuilder,
  conferringRoles: resolveOrganizationOwnerConferringRoles(this.authorizationsService),
});

The observation distinguishes organizations with no usable owner from those with exactly one. The super-administrator report measures the application-level population separately. The backend runtime profile owns these reports; confined worker profiles skip populations outside their authority.

Follow a breach into evidence

The organization report now calls the audit service for each stranded organization. This actual call records how the breach was detected; individual audit failures are isolated so the diagnostic does not prevent startup.

await this.auditLogsService?.logOrganizationOwnerFloorBreached({
  organizationId: stranded.organizationId,
  detectedBy: AdministrativeContinuityBreachDetection.BOOT_REPORT,
  remainingUsableOwners: 0,
});
PopulationOperator meaning
No usable ownerAdministrative continuity is broken; recovery requires an authorized external path
Exactly oneAccess works, but adding another owner reduces fragility
More than oneThis measurement has not found the missing-owner condition

Keep diagnosis separate from repair

The startup report does not appoint an owner or fail readiness. Application-wide loss has no higher in-product scope from which to grant authority, so recovery is an operator procedure. Monitoring the log and available audit stream, and exercising that procedure, are part of operating the application. The report supplements the write guards; it is not a continuous replacement for them.

Building a B2B product or an internal tool?

Wildo is not self-service yet. Tell us what you have in mind and we will say plainly whether it fits, and what happens next.