Skip to main content

Entity reference

Statuses

The Classifications tab of a 360 view The Classifications tab, showing where an entity sits in each hierarchy it is bound to.

There are exactly two.

StatusMeaning
ActiveA current entity
MergedAbsorbed into another. Resolves to the survivor.

Deletion is not a status. A deleted entity is soft-deleted and restorable, but you reach it with the show-deleted toggle on a list, not by filtering on a status value. Filtering for a deleted or archived status matches nothing and returns an empty result with no error.

Merged status is engine-managed

The merged status and the pointer to the survivor are two representations of one fact, so the database enforces that they agree — one cannot be set without the other. Setting the status directly is refused; merging and unmerging are the only ways it changes.

This is not a restriction for its own sake. When the two could diverge, a merged record could appear in a list of current entities.

The 360 view

SectionContains
AttributesGolden values with contributing sources
CrosswalksSource systems and their identifiers
RelationshipsLinks in both directions
InteractionsRecorded events
ConsentRecords and their legal bases
Merge historyWhat was absorbed, and when
Data qualityScore and violations

Everything this view returns is gated on entity.read. There is no per-section permission check within it: a caller who can read the entity receives every section of the response. Interactions and consent records are not part of it and carry their own permissions.

Row-level ABAC policies and field masking still apply to the contents, so individual records can be dropped and individual values masked — but a section is not withheld as a unit.

Crosswalks through a merge

EventEffect
MergeCrosswalks re-point to the survivor; source count reflects all of them
UnmergeCrosswalks return to the restored record
Requesting a merged recordResolves to the survivor, flagged as resolved from an alias

An integration holding an old identifier keeps working across a merge without change.

What a merge moves

Relationships, comments, interactions, consent records, and privacy requests all re-point to the survivor. Where both records already shared a counterpart, the duplicate is collapsed rather than leaving the survivor listed twice.

All of it reverses on unmerge, restoring the state each record carried.

Multi-value attributes

Several values per attribute, each optionally carrying a usage type, with at most one preferred value per usage type on the golden record.

Next


Last verified against commit a0765982 (2026-08-03)