Seed packs reference
Layers
| Layer | Contains |
|---|---|
| Platform | Universal reference data — countries, currencies, languages, subdivisions |
| Common | Universal entity types — person, organization, place — with conservative match profiles |
| Vertical | Industry entity types, terminology, roles, consent types, and tuned profiles |
A preset installs a whole stack in one step.
Pack contents
| Included | Not included |
|---|---|
| Entity types and attribute definitions | Entity records |
| Match profiles: blocking, ladders, thresholds | Crosswalks |
| Standardization, validation, and masking rules | Relationships between records |
| Reference data and hierarchies | Interactions |
| Relationship types and resolution rules | Consent records |
| Roles, groups, and ABAC policies | |
| Consent and interaction types |
Installation
| Property | Behaviour |
|---|---|
| Idempotent | Look up, then create. Re-running converges. |
| Ordered | Dependencies install before dependents |
| Fail-loud | A pack whose configuration the platform rejects fails the install |
Fail-loud matters: a pack that installed partially and reported success would leave a tenant configured in a way nobody could describe.
Vertical constraint
Verticals compose from the platform's own permission catalog rather than inventing capabilities. A vertical's roles are expressed in codes the platform actually enforces — which is what stops a pack from appearing to grant something that nothing checks.
Extending
Installed configuration is ordinary tenant configuration and can be modified freely.
Installation looks up before creating, so it does not duplicate rows. But several steps converge by updating a row that differs — a locally-edited standardization rule, for instance, is rewritten to the pack's configuration.
Record local deviations, and re-check them after installing a pack update.
Next
Last verified against commit 74cecd91 (2026-08-03)