internal

When a number of types are defined in a project, some may be for external use - Data consumers, used in APIs, messaging for used outside the Data Domain. Other types may be only for use within the Data Domain, safe in the knowledge that they can be changed, deleted as required, internally.

An ALFA user-defined type can be declared with an internal modifier to indicate that it will not be part of any dataproduct.

Definitions marked internal are excluded from being reported on Change Analysis reports by default.

Internal definitions can reference non-internal definitions, however, non-internal definitions cannot reference (as fields, includes) internal definitions. This is to prevent a non-internal definition being part of a Data Product, API etc, and being impacted by internal definition changes.

Example internal definition:

internal record ConfigData {
    ...
}