Skip to content

Add-ons

Add-ons are versioned, configurable platform capabilities generated around the product domain. Current prefab module generation is centered on the Python/FastAPI target; target preflight and the product UI are authoritative for availability elsewhere.

The auth module can provide:

  • local email/password signup and login;
  • password policy;
  • JWT configuration with secret resolved from an environment variable;
  • authenticated-user endpoint and logout behavior;
  • optional OAuth providers such as Google, GitHub, Auth0, Firebase, Microsoft, Apple, and generic OIDC;
  • actor assignment/context used to resolve modeled personas and session attributes.

OAuth client IDs and secrets are runtime values. The model stores their environment-variable names.

The notifications module declares:

  • delivery channels and providers;
  • templates;
  • event triggers;
  • recipient resolution from event fields, authenticated users, or explicit addresses;
  • enabled state and version.

Domain events remain the integration point. Product behavior emits meaning; the notification module delivers it.

The file-upload module supports:

  • local filesystem or Amazon S3 storage;
  • default MIME-type and size policy;
  • per-field policy overrides;
  • generated storage abstraction and routes;
  • upload logging;
  • authentication guard when the app has auth enabled.

Local storage is suitable for development or a single durable node. Multi-instance deployment needs shared object storage.

The audit module subscribes to domain events for selected aggregates and persists audit entries. Configuration can select tracked aggregates and retention intent.

Audit trail is not a backup and does not replace business event modeling. It is an operational record of observed changes.

An explicitly authored disabled module remains disabled; inference must not silently enable it. When no module configuration exists, modelARch may recommend or infer a module from product needs, but the decision remains inspectable.

Module Product policy in model Runtime secrets Domain connection
Auth password/JWT/provider policy signing key, OAuth credentials actor identity and assignments
Notifications channels/templates/triggers SMTP/provider credentials domain events
File upload storage and per-field policy storage credentials file-typed fields
Audit trail tracked aggregates/retention database/runtime config domain events

See Technology stack and add-ons and Configuration and secrets.