> For the complete documentation index, see [llms.txt](https://documentation.ardoq.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.ardoq.com/data-model/metamodel-constraints.md).

# Metamodel Constraints

Learn how to use Metamodel Constraints to structure your metamodel and keep your repository clean.

Ardoq’s flexible metamodel makes it easy to model your organization. But flexibility can also lead to inconsistency, which can slow down adoption and make it harder for new contributors to work in your main repository.

Metamodel Constraints give admins more control over the metamodel by defining the valid relationships in your data and provide organizational-level governance at the moment of data creation. This helps:

* Ensure consistency in how components are connected
* Simplify collaboration by guiding users toward correct reference types
* Reduce and avoid cleanup work caused by incorrect or inconsistent references
* Separate your intended metamodel from actual usage

Metamodel Constraints are a key building block of our long-term vision for a **Global Metamodel** — a unified, governed, and intentional representation of your organization’s structure. Constraints act as the enforcement layer of this vision, turning your intended design into explicit rules that guide data creation everywhere in Ardoq.

{% hint style="info" %}
Only Ardoq administrators can set and edit metamodel constraints.
{% endhint %}

## How It Works <a href="#h_5da951711e" id="h_5da951711e"></a>

You can find the Metamodel Constraints by clicking your organization name in the top-left then selecting **Admin** > **Metamodel** and navigating to the **Constraints** tab.

Ardoq automatically surfaces how your data is connected by showing all existing **Source → Reference → Target** type combinations — also known as triples. Each of these combinations is assigned one of the following statuses:

* Invalid: No workspace has the source component and reference type to make this a valid constraint.
* Review needed: These references are used in your organization but you have not approved them.
* Approved: These references have been approved but are not used anywhere.
* Approved — active: These references have been approved and are in active use throughout your workspaces.

<figure><img src="https://2484004798-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnlnB7uZ29iLVLzqGbCym%2Fuploads%2F3t3X5I97DJQ6OyRPjwvF%2Fimage.png?alt=media&amp;token=b777985c-6713-4cae-b399-e2b7b6f75c2a" alt=""><figcaption></figcaption></figure>

### Viewing Where References are Used

You can right-click on a row in the constraints table and click **See instances** to see a pre-configured report showing all occurrences of specific reference triples.

<figure><img src="https://2484004798-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnlnB7uZ29iLVLzqGbCym%2Fuploads%2FeuFIyEWlWXnAIfgQoBv4%2Fimage.png?alt=media&amp;token=1533641c-2537-445e-b381-fcf478baec62" alt=""><figcaption></figcaption></figure>

The report is useful in narrowing down where references now following your constraints can be found and edited.

<figure><img src="https://2484004798-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnlnB7uZ29iLVLzqGbCym%2Fuploads%2FAwsq4r14uvymiyh0nzoA%2Fimage.png?alt=media&amp;token=2973ed29-6338-46ee-856b-eb3872aaac61" alt=""><figcaption></figcaption></figure>

## Constraint Enforcement

Ardoq validates new references against your defined constraints using the enforcement mode&#x20;

selected at the organization level.&#x20;

You can enable metamodel constraint enforcement by clicking your organization name in the top-left corner and navigating to **Admin** > **Organization settings**, going to the **Settings** tab and selecting an option from the **Metamodel constraints enforcement** dropdown.

<figure><img src="https://2484004798-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnlnB7uZ29iLVLzqGbCym%2Fuploads%2FmvxHQEJ8CZI5k4seAnou%2Fimage.png?alt=media&amp;token=537f0f63-e8f7-4ee7-b1d9-b0d60b801235" alt=""><figcaption></figcaption></figure>

Enforcement applies across key areas such as Views, Inventory, Reports, and other reference-creation touchpoints. This ensures that users follow the model you have defined, supports consistent modeling practices, and reduces cleanup work.

### Enforcement Modes

#### **Off**

Users can freely create any component and reference combination without guardrails.

#### **Guided**

Users can freely create any component and reference combinations, but Ardoq will show warnings when you attempt to create such references. Guided mode is useful when you're still evaluating constraints and building out your metamodel.

{% tabs %}
{% tab title="Data Inventory Warning" %}

<figure><img src="https://2484004798-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnlnB7uZ29iLVLzqGbCym%2Fuploads%2F1rySRdxhY4Jx6Rngfa9I%2Fimage.png?alt=media&amp;token=4f101026-b5f6-4d65-bbf2-e13811348ed2" alt=""><figcaption></figcaption></figure>

{% endtab %}

{% tab title="Integrations Warning" %}

<figure><img src="https://2484004798-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FnlnB7uZ29iLVLzqGbCym%2Fuploads%2FrXxCvylk24rMbPuEh5wE%2Fimage.png?alt=media&amp;token=738ab3f8-19f0-48f4-8727-d145d007c772" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

#### Strict

Strict mode will disable the creation of references that aren't specifically allowed by your metamodel constraints. In much of the UI, freeform reference creation will be disable and you will only be able to pick from a list of approved references.

{% hint style="info" %}
**Note**: In **Strict** mode, if a valid connection defined by the Metamodel Constraints does not exist, selecting the **Implicit** reference is still allowed, but only when a **Display text** is provided.
{% endhint %}

## Where Metamodel Constraints Apply in Ardoq <a href="#h_8340d2f639" id="h_8340d2f639"></a>

* Data Inventory
* Views and viewpoints
* Integrations

### Known Limitations

#### Component Overview Page <a href="#h_981469cbf9" id="h_981469cbf9"></a>

* The Component Overview Page does not highlight or flag references that fall outside defined constraints.

#### Data Inventory <a href="#h_7750461293" id="h_7750461293"></a>

* Data Inventory does not currently flag rows containing references that violate defined constraints.
* Selection of columns to be displayed is not limited by constraints.

#### Surveys <a href="#h_cd6026cd14" id="h_cd6026cd14"></a>

* Metamodel Constraints do not guide or restrict reference creation in Surveys. However, Surveys allow users by design to configure the type of references and components to be created in each question.
* There are no changes for Survey consumers/contributors.

#### Existing Data <a href="#h_4fcacdd43e" id="h_4fcacdd43e"></a>

* Strict Mode does not retroactively remove or block existing invalid references.
* Violations are flagged visually (e.g. with alert indicators), but not automatically resolved.
* Cleanup must be done manually using the **See Instances** functionality.
