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.
Authentication
Section titled “Authentication”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.
Notifications
Section titled “Notifications”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.
File upload
Section titled “File upload”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.
Audit trail
Section titled “Audit trail”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.
Add-on configuration rule
Section titled “Add-on configuration rule”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.
Support matrix
Section titled “Support matrix”| 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.
