@happyvertical/smrt-fields
Layered field policy: per-field defaults, visibility tiers, labels, help, ordering, and organization locks resolved over the code seed at app, tenant, and user scope.
What it gives you
Layered field policy: per-field defaults, visibility tiers, labels, help, ordering, and organization locks resolved over the code seed at app, tenant, and user scope.
- 01Code seed, app, tenant, and user layers resolved into one policy per object
- 02Generated forms that render only the fields present in both the manifest definition and the resolved policy
- 03A form gear and an organization control panel behind two dedicated permissions
How resolution works
Four layers merge low to high: the code seed from @field({ ui }), app rows, the tenant chain, then the signed-in user. A column left empty inherits from the layer below and resetting a customization deletes the row.
Read the field policy guide →Building forms
PolicyField adopts an existing form incrementally; ObjectForm renders the fields present in both the generated definitions and the resolved policy.
Build a policy-aware form →Running it in production
The form gear, the organization control panel, the two permissions, and the difference between a personal preference and an organization rule.
Operate field policies →API and semantics
Exported functions and types, the canonical object reference format, the default-value wire contract, write validation, and caching.
Field policy API →