Skip to main content

Using Control Tags for Additional Access Controls

Control tags provide an additional layer of access control beyond standard sharing permissions. They are used to:

  • Restrict visibility of sensitive resources
  • Enforce compliance or regulatory boundaries
  • Segment access within and across tenants
  • Prevent accidental oversharing of confidential data

⚠️ Control tags do not grant access. They restrict access.


Access Rules

General Rules

To access a model or artifact with control tags:

  • The user must already be a Viewer or Editor of the resource.
  • The user must also have every control tag assigned to the resource assigned to their user account.
  • Model and Artifact Owners/Administrators can always access the resources they manage, regardless of control tags.

Who Manages Control Tags

  • User control tag assignments: Tenant administrators
  • Model control tags: Model Owners and Administrators
  • Artifact control tags: Artifact Owners and the Owners or Administrators of the parent model

Tag Inheritance and Assignment

Model-Level Tags

  • Tags assigned to a model are automatically inherited by all its artifacts.
  • Removing a tag from a model also removes it from any artifacts that inherited it.

Artifact-Level Tags

  • Tags can also be assigned directly to individual artifacts.
  • If the same tag is later added or removed at the model level, that model-level change overrides the artifact-level assignment for that tag.
  • Artifacts may have more restrictive or less restrictive access than their model depending on tag overrides.

Note: Inheritance flows from model → artifact only.


Example Scenario

  1. Alice has the SENSITIVE tag assigned to her user account.
  2. Bob creates a model and shares it with Alice and George.
  3. Bob adds the SENSITIVE tag to the model.
    • Alice keeps access (she has the tag).
    • George loses access (he lacks the tag).
  4. An admin removes the tag from Alice's account.
    • Alice loses access.
  5. Bob removes the tag from the model.
    • George and Alice regain access.
  6. Bob assigns the SENSITIVE tag directly to an artifact.
    • George cannot access the artifact.
    • Alice regains access after the tag is reassigned to her.

Creating Control Tags

Who Can Create

Only Tenant Administrators.

How to Create

In the Web App:

  1. Open the Admin Panel from the left sidebar.
  2. Select Control Tags.
  3. Click + New Control Tag.
  4. Provide a name, optional description, and optional display color.
  5. Click Create.

Tag names are automatically converted to ALL CAPS.

Using the Python SDK:

from istari_digital_client import Client, Configuration, NewControlTag

client = Client(Configuration(
registry_url='[REGISTRY_URL]',
registry_auth_token='[ACCESS_TOKEN]'
))

tag = client.create_control_tag(
NewControlTag(
name="SENSITIVE",
description="Restricted access tag",
display_color="magenta"
)
)

Archiving and Restoring Control Tags

Archiving

Who: Tenant Administrators
Effect: Removes tag and all assignments from users, models, and artifacts. These resources behave as if the tag was never applied.

SDK Example:

archived_tag = client.update_control_tag(
UpdateControl_tag(id=tag.id, status=ControlTagStatus.ARCHIVED)
)

Restoring

Effect: Restores model/artifact tag assignments; user tag assignments must be re-added manually.

SDK Example:

restored_tag = client.update_control_tag(
UpdateControlTag(id=archived_tag.id, status=ControlTagStatus.ACTIVE)
)

Editing Control Tags

Editable Fields:

  • Name (must be unique)
  • Description (optional)
  • Display color (optional)

SDK Example:

updated_tag = client.update_control_tag(
UpdateControlTag(id=tag.id,
name="CONFIDENTIAL",
description="Internal use only",
display_color="#ff0000")
)

Control Tag Revision History

Every change to a control tag creates a new revision. Revisions are fully auditable and include user and timestamp metadata.

SDK Example:

revisions = client.get_control_tag_revision_history(control_tag_id=tag.id)

Tag Assignment History

The Istari platform preserves the history of all control tag assignments and removals.

SDK Examples:

# For a model
taggings = client.get_model_control_tagging_history("[MODEL_ID]")

# For an artifact
taggings = client.get_artifact_control_tagging_history("[ARTIFACT_ID]")

# For a user
taggings = client.get_user_control_tagging_history("[USER_ID]")

Assigning Control Tags to Models and Artifacts

Who Can Assign

  • Model Owners and Administrators (for models)
  • Artifact Owners, and Owners/Administrators of the parent model (for artifacts)

How to Assign (Web App)

  1. Navigate to a model or artifact detail page.
  2. Click + Add Control Tags if none are assigned, or click the edit icon beside existing tags.
  3. Select or deselect available tags.
  4. (Optional) Add a reason for the change.
  5. Click Save.

SDK Example

# Add tags
client.add_model_control_taggings(
model_id=model.id,
control_tag_ids=[tag1.id, tag2.id],
reason="initial tagging"
)

# Remove tags
client.remove_model_control_taggings(
model_id=model.id,
control_tag_ids=[tag2.id],
reason="removing one tag"
)

Assigning Control Tags to Users

Who Can Assign

Tenant Administrators (must have customer_admin label in Zitadel)

How to Assign (Web App)

  1. Open the Admin Panel and navigate to Control Tags.
  2. Click the Control Tag Permissions tab.
  3. Click Add Control Tags or Edit Control Tags next to a user.
  4. Select tags to assign or remove, then click Save.

SDK Example

# Add tags
client.add_user_control_taggings(
user_id=user.id,
control_tag_ids=[tag1.id, tag2.id],
reason="initial access assignment"
)

# Remove tags
client.remove_user_control_taggings(
user_id=user.id,
control_tag_ids=[tag1.id],
reason="access removed"
)

Summary

  • Control tags are restrictive, not permissive—they add constraints to existing share-based access.
  • Both sharing and tag access are required to view tagged resources.
  • Model and artifact owners/administrators always retain access regardless of tags.
  • Tag inheritance flows from model → artifact.
  • Archived tags remove all assignments but can be restored later.
  • Revision and assignment history is retained for audit and compliance.