Skip to content

app.ownership_transfers

TableRow level security on

An Owner's offer to hand the org to another member (Section 14.7). The member accepts with step-up (a second factor) within 7 days; the old Owner then becomes an Admin, or leaves if they chose to, and the org keeps an Owner at every step (invariant 4). Written only by the transfer RPCs; every change is audited.

Primary key: id

Columns of app.ownership_transfers
ColumnTypeNullableDescription
iduuidNoPrimary key, UUID v7.
org_iduuidNoOwning org. A row never moves to another org.References app.organizations.id
from_person_iduuidNoOwner who offered the org.References app.people.id
to_person_iduuidNoMember the org is offered to; becomes an Owner on accepting.References app.people.id
previous_owner_outcometextNoWhat happens to the Owner who offered on acceptance: admin (becomes an Admin) or leave (their membership ends).
offered_attimestamp with time zoneNoWhen the offer was made.
expires_attimestamp with time zoneNoWhen an unanswered offer lapses: midnight on the org's calendar after the seventh whole day after it was made.
accepted_attimestamp with time zoneYesWhen the member accepted and became an Owner.
declined_attimestamp with time zoneYesWhen the member declined.
canceled_attimestamp with time zoneYesWhen an Owner withdrew the offer.
canceled_byuuidYesOwner who withdrew it.References app.people.id
expired_attimestamp with time zoneYesWhen the lifecycle job found the offer unanswered past its end.
created_attimestamp with time zoneNoWhen the row was inserted. Set by the database.
created_byuuidYesPerson who inserted the row, or null for a platform process. Set by the database.References app.people.id
updated_attimestamp with time zoneNoWhen the row last changed. Set by the database.
updated_byuuidYesPerson who last changed the row, or null for a platform process. Set by the database.References app.people.id
deleted_attimestamp with time zoneYesSoft delete time. A row with deleted_at set is ignored by every access helper.