Architecture

One metadata model. One runtime. Multiple applications.

Applications are definitions. One runtime interprets them all, so every app gets the same access rules, audit and automation.

One metadata model, one runtimeIllustration
Metadata store
  • entity Invoice
  • screen Invoice list
  • lifecycle Draft → Paid
  • role Finance: Team
  • workflow On approval
One runtimedata engine, hooks, access, audit
Applications
  • Field serviceDevelopment · QA · Production
  • ProcurementDevelopment · QA · Production
  • Customer portalDevelopment · QA · Production
Same access rulesSame auditSame automation
Applications are definitions. The same data engine and runtime interpret every one of them.

What is inside

The layers

Front ends on top, .NET services and engines in the middle, standard infrastructure below.

Front endsAngular
  • Runtime web app with Form.io and 33 components
  • Custom front ends on the client SDK
  • TAF Studio
  • TAFI in Studio and Claude Code
Services.NET, REST, api/v1
  • Identity
  • Metadata
  • Data
  • Forms
  • Workflow engine
  • Scheduler
  • Notifications
  • Reports
  • Files
  • Templates
  • Code executor
  • Logging and audit
Enginesinside the data service
  • Query engine
  • Hook pipeline
  • Permission engine
  • Lifecycle engine
  • Approval engine
  • Trigger engine
Infrastructurestandard components
  • PostgreSQL
  • SQL Server
  • RabbitMQ
  • Redis
  • Elasticsearch
  • Docker

How it works

Every save takes the same path

Ordered checks before the write, one event after it. Platform features and your C# plug into the same pipeline.

Save an order
  1. Accessrole scopes
  2. Planentitlements, seats
  3. Approval lockrecords under approval
  4. Ownershipworkspace rules
  5. Auditrecord info
  6. Your C#validate, pre, post
Your databasePostgreSQL or SQL Server
One event, over RabbitMQ
  • Triggers
  • Workflows
  • Notifications
  • Audit trail
  • Global search
  • Live grid refresh
Every entity, every operation: the same path. Your code plugs into it; it never replaces it.

Your data

Your database, per environment

PostgreSQL or SQL Server, one database per application environment.

Developmentits own database
QAits own database
Productionits own database

Fast and standard

Cached where it pays, shipped the standard way

  • Metadata cacheIn memory and Redis, per app and tenant
  • Access rules cacheEvent-driven invalidation
  • Compiled scriptsCached by content
  • App schemaKept in the browser by the runtime
  • Docker imagesServices ship as Docker images
  • OpenAPIServices are documented with OpenAPI
  • .NET SDKsMost services ship one
  • API referenceThe services and their endpoints

Proof

The platform in numbers

For technical evaluators: the size of what sits underneath your application.

~12.NET microservices
~33built-in UI components
~26built-in workflow actions
~22query operators
~2,400backend unit-test methods
40client SDK packages
~50AI gateway tools

Counts are based on the current product codebase and may change between releases.

Explore it component by component.

Select each component in the architecture guide, or walk through it with the engineers who build it.