Feature: rls_party_isolation

Table of Contents

This page is one authored MASD feature in ORE Studio Variability Model ยง "Projection configuration: how an existing artefact family is shaped". Any profile that fixes this feature's value links here rather than restating its effect.

1. Identity

Field Value
Literal name :rls_party_isolation:
Bundle ores.sql.schema
Type bool
Default false

2. Effect

Emits a party-scoped create policy ... as restrictive ... using (ores_iam_visible_party_ids_fn() is null or party_id = any (...)) trailer in the entity's generated create SQL (and its drop policy in the drop file), layered on top of the tenant-isolation policy declared via :rls_tenant_isolation:. This is the T3 shape: rows are visible to a session when its tenant matches and its visible party set admits the row's party_id; the NULL-passthrough lets system tenants and unrestricted sessions read across parties.

party_id on its own is not a signal: many entities carry a party_id natural key that is not party isolation scope (e.g. ores_marketdata_market_series_tbl). Opt in explicitly per entity.

3. Structural consequence

None on the logical shape โ€” no column or field is added or removed; only a generated policy block over the entity's existing party_id column. Requires both :has_tenant_id: and :rls_tenant_isolation:, and per-entity in-file emission is only legal for tables created after the iam section of create/create.sql.

4. Used by

None yet โ€” deliberately not fixed by any profile.

5. See also

Emacs 29.3 (Org mode 9.6.15)