Files
zitadel/agents.md
T
5a2181bcec chore: rename IAM to instance (#11351)
# Which Problems Are Solved

In many cases IAM was used where instance was meant. 

# How the Problems Are Solved

- Rename wrong usage of IAM to instance all over the code base.
- Add an agents.md which explains the terms used in Zitadel's
architecture.

# Additional Context

- closes #11280

---------

Co-authored-by: Copilot <[email protected]>
Co-authored-by: muhlemmer <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Marco A. <[email protected]>
2026-02-10 20:25:39 +01:00

3.7 KiB

ZITADEL Domain & Multi-Tenancy Logic

1. Hierarchy & Ownership

ZITADEL follows a strict hierarchical containment model. When generating code, logic, or translations, adhere to this structure:

  • System (Installation): The entire ZITADEL deployment. Global settings are applied through runtime configuration files or environment variables. See cmd/defaults.yaml.
  • Instance (The "Identity System"):
    • Definition: A logical partition/virtual tenant. It is a "System inside a System."
    • Isolation: Data and configurations are strictly isolated between instances.
    • Translation Rule: NEVER translate as "Example" or "Case." Use technical terms like "Tenant," "Environment," or the local equivalent of "Logical System Entity."
  • Organization: A group within an Instance. It owns Users, Projects, and Roles.
  • Project: A collection of Applications and Auth Policies within an Org.

2. Permission Scoping (The "Administrative" Context)

  • System User: Manages the entire Installation and creates Instances over the system API.
  • Instance Admin: Manages Instance-wide policies (Password complexity, Identity Providers, Organizations).
  • Organization Admin: Manages users and access within a specific Organization.

3. Language & Tone Guidelines

  • Avoid Ambiguity: When referring to an 'Instance', the context is always infrastructure/tenancy.
  • Technical Precision: In UI strings, prefer clarity over brevity if "Instance" is likely to be misinterpreted in the target language.

4. Technical Glossary & Localization Mapping

Language Technical Term (SaaS/Cloud) Why this term? "Avoid this (The ""Example"" Trap)"
Chinese (Simplified) 实例 (Shílì) Standard for a cloud resource/entity. 例子 (Lìzi)
Japanese インスタンス (Insutansu) Katakana transliteration; industry standard. 例 (Rei)
Korean 인스턴스 (Inseuteonseu) Hangul transliteration; industry standard. 예 (Ye)
German Instanz Matches English but implies a technical occurrence. Beispiel
French Instance "Standard but often requires ""de ZITADEL"" for clarity." Exemple
Spanish Instancia Technical entity in software architecture. Ejemplo
Portuguese Instância Standard technical terminology. Exemplo
Russian Инстанс (Instans) Modern SaaS jargon (transliterated). Пример (Primer)

Translation Guardrails

If a translation is requested for a language not listed above, follow these priority rules for the word 'Instance':

  1. Priority 1 (Transliteration): Use the phonetic transliteration into the local script (common in Japanese/Korean/Russian).
  2. Priority 2 (System Entity): Use a term that implies a "running process" or "logical environment."
  3. Priority 3 (Tenant): If 'Instance' is ambiguous, use the local word for 'Tenant' (e.g., 租户 in Chinese).
  4. Strict Ban: NEVER use words that mean "an illustration", "a case", "a sample", or "an example."