Schema-driven apps
Schema-driven apps
A schema-driven Furnace app is declared, not hand-built: a single definition names its entities, their fields, and their permission rules, and the platform derives the rest — storage, validated CRUD, a REST surface, MCP tools, and admin UI.
What a definition declares
- Entities and fields — typed field builders, defaults, relations
- Permissions as schema — who may read, create, edit, and delete, including ownership-scoped rules (records you created vs everyone's)
- Logic — small server-side functions attached to the entity lifecycle where a rule can't be purely declarative
Because permissions live in the schema, every derived surface — UI, REST (platform entities), MCP — enforces the same rules with no per-surface code.
Where this is going
Schema-driven definitions are the foundation of generated apps: apps that exist as governed data — schema, pages, automation — hosted by a shared runtime with no per-app deployment. The declarative core described here is shipped; the surrounding automation (schedules, webhooks, conversational app generation) is the part under construction.