diff --git a/docs/docs/apis/openidoauth/endpoints.mdx b/docs/docs/apis/openidoauth/endpoints.mdx
index a9db7ffacc..59f03ef05b 100644
--- a/docs/docs/apis/openidoauth/endpoints.mdx
+++ b/docs/docs/apis/openidoauth/endpoints.mdx
@@ -569,7 +569,7 @@ curl --request POST \
The endpoint has to be opened in the user agent (browser) to terminate the user sessions.
-No parameters are needed apart from the user agent cookie, but you can provide the following to customize the behaviour:
+No parameters are needed apart from the user agent cookie, but you can provide the following to customize the behavior:
| Parameter | Description |
| ------------------------ | -------------------------------------------------------------------------------------------------------------------------------- |
diff --git a/docs/docs/examples/secure-api/java-spring.md b/docs/docs/examples/secure-api/java-spring.md
index c545f13c25..035d749a08 100644
--- a/docs/docs/examples/secure-api/java-spring.md
+++ b/docs/docs/examples/secure-api/java-spring.md
@@ -38,7 +38,7 @@ If your starting from scratch, you can use the Spring Initializer with the [foll
### Support class
To be able to take the most out of ZITADELs RBAC, we first need to create a CustomAuthorityOpaqueTokenIntrospector, that will
-customize the introspection behaviour and map the role claims (`urn:zitadel:iam:org:project:roles`)
+customize the introspection behavior and map the role claims (`urn:zitadel:iam:org:project:roles`)
into Spring Security `authiorities`, which can be used later on to determine the granted permissions.
So in your application, create a `support/zitadel` package and in there the `CustomAuthorityOpaqueTokenIntrospector.java`:
diff --git a/docs/docs/guides/integrate/identity-providers/_prefill_action.mdx b/docs/docs/guides/integrate/identity-providers/_prefill_action.mdx
index a63a3fcb48..a27e5b035e 100644
--- a/docs/docs/guides/integrate/identity-providers/_prefill_action.mdx
+++ b/docs/docs/guides/integrate/identity-providers/_prefill_action.mdx
@@ -1,4 +1,3 @@
-import CodeBlock from '@theme/CodeBlock';
You can use a ZITADEL action if you want to prefill the fields {props.fields} with {props.provider} data.
diff --git a/docs/docs/guides/integrate/identity-providers/additional-information.mdx b/docs/docs/guides/integrate/identity-providers/additional-information.mdx
new file mode 100644
index 0000000000..6231a3b891
--- /dev/null
+++ b/docs/docs/guides/integrate/identity-providers/additional-information.mdx
@@ -0,0 +1,15 @@
+---
+title: Additional Information
+sidebar_label: Additional Information
+---
+
+## Automatically prefill user data
+
+import PrefillAction from './_prefill_action.mdx';
+
+' \
+--data-raw '{
+ "org": {
+ "name": "Organisation C",
+ "domain": "org-c.com"
+ },
+ "human": {
+ "userName": "gigi-giraffe",
+ "profile": {
+ "firstName": "Gigi",
+ "lastName": "Giraffe",
+ "nickName": "gigi-giraffe",
+ "displayName": "Gigi Giraffe",
+ "preferredLanguage": "en",
+ "gender": "GENDER_UNSPECIFIED"
+ },
+ "email": {
+ "email": "gigi@zitadel.com",
+ "isEmailVerified": true
+ },
+ "phone": {
+ "phone": "+41 71 000 00 00",
+ "isPhoneVerified": true
+ },
+ "password": "my_53cr3t-P4$$w0rd"
+ },
+ "roles": [
+ "string"
+ ]
+}'
+```
+
+Detailed description of [Setup Organization](/docs/apis/resources/admin/admin-service-set-up-org#setup-organization)
+
+If you need to add custom data to either the organization or the user you can use the metadata.
+Metadata is a key value construct that allows you to store any additional information to the ressources.
+The set organization metadata request allows you to add one key value pair to an organization:
+[Set Organization Metadata](/docs/apis/resources/mgmt/management-service-set-org-metadata)
+If you have more than one field, you can use the bulk add request:
+[Bulk Set Organization Metadata](/docs/apis/resources/mgmt/management-service-bulk-set-org-metadata)
+
+The same requests also exist on the user ressource:
+[Set User Metadata](/docs/apis/resources/mgmt/management-service-set-user-metadata)
+[Bulk Set User Metadata](/docs/apis/resources/mgmt/management-service-bulk-set-user-metadata)
diff --git a/docs/docs/guides/solution-scenarios/onboarding/end-users.mdx b/docs/docs/guides/solution-scenarios/onboarding/end-users.mdx
new file mode 100644
index 0000000000..ec67b7e2ef
--- /dev/null
+++ b/docs/docs/guides/solution-scenarios/onboarding/end-users.mdx
@@ -0,0 +1,92 @@
+---
+title: Onboard Users
+sidebar_label: Onboard Users
+---
+
+End Users have three different possibilities on how to login with ZITADEL.
+1. Local Account with Username, Password, MFA, Passkey, etc
+2. Social Login like Google, Apple, Github, etc
+3. External Identity Provider hosted/managed by Organization like Azure AD, LDAP, Okta etc
+
+You can either use the hosted login of ZITADEL to let users register themselves, or you can build your own UI and use the existing APIs.
+
+## Manually add/invite users
+
+import CreateUser from '/docs/guides/manage/console/_create-user.mdx';
+
+
+
+## Automated / Self-registration possibilities
+
+If you want to start automating the process of onboarding your users and let them do self-registration the following sections give you some guidance.
+
+### Built-in register form
+
+#### Local User Registration
+
+To allow users to register themselves, you have to enable the "register allowed" in the login behavior settings.
+You will now see the register button on the login screen.
+
+
+
+If nothing else is specified, a user will be registered to the default organization.
+
+
+You can specify another organization, by sending the organization scope in the authorization requests.
+By sending the scope below the settings of the specified organization will be triggered and only users of the said organization will be able to authenticate.
+The users will be registered to the given organization.
+```
+urn:zitadel:iam:org:id:{id}
+```
+
+If the user chooses to register a local account, the register form will be shown.
+All the mandatory fields like given name, family name, e-mail and password have to be filled.
+You can only setup authentication with the built-in form.
+
+
+
+#### Registration with Social Login
+
+To allow your users to register with social logins you have to configure the external identity providers.
+If you only need the social logins for your end users and you want to have them all in the organization, we recommend using the default organization for those users.
+In that case you can configure the identity providers on the default organization.
+If you want to have the social logins on different organizations you can configure the default on the instance, and enable it on the needed organizations.
+
+Please follow the configuration guides for the needed providers: [Let Users Login with Preferred Identity Provider in ZITADEL](/docs/guides/integrate/identity-providers)
+
+The configured providers will be shown on the first login screen or when the users click on the registration button, they will be able to choose between local account or the social login.
+
+
+
+#### Registration with Organization External Identity Provider
+
+If your business customer already have an identity provider, and you want to allow SSO for them, you can configure their providers directly for their organization.
+Configure the needed provider such as Azure AD or OKTA.
+
+Please follow the configuration guides for the needed providers: [Let Users Login with Preferred Identity Provider in ZITADEL](/docs/guides/integrate/identity-providers)
+
+import OrgLoginDescription from "./_org_login_description.mdx";
+
+
+
+### Build your own registration form
+
+ZITADEL allows you to build your own registration form and login UI.
+The registration process highly depends on your needs.
+
+We do have a guide series on how to build your own login ui, which also includes the registration of different authentication methods, such as:
+- Password authentication
+- Multi-Factor
+- Passkeys
+- External Login Providers
+
+You can find all the guides here: [Build your own login UI](https://zitadel.com/docs/guides/integrate/login-ui)
+
+The create user request also allows you to add metadata (key, value) to the user.
+This gives you the possibility to collect additional data from your users during the registration process and store it directly to the user in ZITADEL.
+We recommend storing business relevant data in the database of your application, and only authentication and authorization relevant data in ZITADEL to follow the separation of concern pattern.
+
+#### Registration with Organization External Identity Provider
+
+If you want to know more about the multi-tenancy possibilities of ZITADEL, read the following blog post:
+[Multi-Tenancy and Delegated Access Management with Organizations](https://zitadel.com/blog/multi-tenancy-with-organizations)
\ No newline at end of file
diff --git a/docs/docs/self-hosting/manage/production.md b/docs/docs/self-hosting/manage/production.md
index b4ea7f3405..ac15a0a402 100644
--- a/docs/docs/self-hosting/manage/production.md
+++ b/docs/docs/self-hosting/manage/production.md
@@ -121,7 +121,7 @@ Database:
You also might want to configure how [projections](/concepts/eventstore/implementation#projections) are computed. These are the default values:
```yaml
-# The Projections section defines the behaviour for the scheduled and synchronous events projections.
+# The Projections section defines the behavior for the scheduled and synchronous events projections.
Projections:
# Time interval between scheduled projections
RequeueEvery: 60s
diff --git a/docs/docs/support/advisory/a10000.md b/docs/docs/support/advisory/a10000.md
index 5b7a8e20ff..8bd7d2b957 100644
--- a/docs/docs/support/advisory/a10000.md
+++ b/docs/docs/support/advisory/a10000.md
@@ -19,7 +19,7 @@ To address this, we are going to change this behavior so that users will be auto
## Statement
-This behaviour change was tracked in the following issue: [Reuse current session if no prompt is selected](https://github.com/zitadel/zitadel/issues/4841)
+This behavior change was tracked in the following issue: [Reuse current session if no prompt is selected](https://github.com/zitadel/zitadel/issues/4841)
and released in version [v2.32.0](https://github.com/zitadel/zitadel/releases/tag/v2.32.0)
## Mitigation
diff --git a/docs/docs/support/advisory/a10001.md b/docs/docs/support/advisory/a10001.md
index e082107c09..013a9b2d2e 100644
--- a/docs/docs/support/advisory/a10001.md
+++ b/docs/docs/support/advisory/a10001.md
@@ -20,7 +20,7 @@ To address this, we are going to change the behavior of the setting mentioned ab
## Statement
-This behaviour change was tracked in the following PR: [Restrict AllowRegistration check to local registration](https://github.com/zitadel/zitadel/pull/5939).
+This behavior change was tracked in the following PR: [Restrict AllowRegistration check to local registration](https://github.com/zitadel/zitadel/pull/5939).
The change was part of version [v2.35.0](https://github.com/zitadel/zitadel/releases/tag/v2.35.0)
## Mitigation
diff --git a/docs/docs/support/advisory/a10003.md b/docs/docs/support/advisory/a10003.md
index d3a5d868d2..b03265add3 100644
--- a/docs/docs/support/advisory/a10003.md
+++ b/docs/docs/support/advisory/a10003.md
@@ -14,7 +14,7 @@ When users are redirected to the ZITADEL Login-UI without any organizational con
based on the instance settings, e.g. available IDPs and possible login mechanisms. If the user will then register himself,
by the registration form or through an IDP, the user will always be created on the default organization.
-This behaviour led to confusion, e.g. when activating IDPs on default org would not show up in the Login-UI, because they would still be loaded from the instance settings.
+This behavior led to confusion, e.g. when activating IDPs on default org would not show up in the Login-UI, because they would still be loaded from the instance settings.
To improve this, we're introducing the following change:
If users are redirected to the Login-UI without any organizational context, they will be presented a login screen based on the settings of the default organization (incl. IDPs).
diff --git a/docs/docs/support/advisory/a10004.md b/docs/docs/support/advisory/a10004.md
index 787c65aeba..ed5e8fabe1 100644
--- a/docs/docs/support/advisory/a10004.md
+++ b/docs/docs/support/advisory/a10004.md
@@ -10,7 +10,7 @@ Date: 2023-10-14
## Description
-Due to storage optimisations ZITADEL changes the behaviour of sequences.
+Due to storage optimisations ZITADEL changes the behavior of sequences.
This change improves command (create, update, delete) performance of ZITADEL.
Sequences are no longer unique inside an instance.
diff --git a/docs/docs/support/technical_advisory.mdx b/docs/docs/support/technical_advisory.mdx
index f0d4d068d2..74c3dfa081 100644
--- a/docs/docs/support/technical_advisory.mdx
+++ b/docs/docs/support/technical_advisory.mdx
@@ -23,7 +23,7 @@ We understand that these advisories may include breaking changes, and we aim to
A-10000
Reusing user session |
- Breaking Behaviour Change |
+ Breaking Behavior Change |
The default behavior for users logging in is to be directed to the Select
Account Page on the Login. With the upcoming changes, users will be
@@ -39,13 +39,13 @@ We understand that these advisories may include breaking changes, and we aim to
A-10001
|
Login Policy - Allow Register |
- Breaking Behaviour Change |
+ Breaking Behavior Change |
When disabling the option, users are currently not able to register
locally and also not through an external IDP. With the upcoming change,
the setting will only prevent local registration. Restriction to Identity
Providers can be managed through the corresponding IDP Template. No action
- is required on your side if this is the intended behaviour or if you
+ is required on your side if this is the intended behavior or if you
already disabled registration on your IDP.
|
2.35.0 |
@@ -75,7 +75,7 @@ We understand that these advisories may include breaking changes, and we aim to
A-10003
Login-UI - Default Context |
- Breaking Behaviour Change |
+ Breaking Behavior Change |
When users are redirected to the ZITADEL Login-UI without any organizational context,
they're currently presented a login screen, based on the instance settings,
@@ -91,9 +91,9 @@ We understand that these advisories may include breaking changes, and we aim to
A-10004
|
Sequence uniquenes |
- Breaking Behaviour Change |
+ Breaking Behavior Change |
- Due to storage optimisations ZITADEL changes the behaviour of sequences.
+ Due to storage optimisations ZITADEL changes the behavior of sequences.
This change improves command (create, update, delete) performance of ZITADEL.
Sequences are no longer unique inside an instance.
From now on sequences are upcounting per aggregate id.
@@ -123,7 +123,7 @@ We understand that these advisories may include breaking changes, and we aim to
A-10006
|
Additional grant to cockroach database user |
- Breaking Behaviour Change |
+ Breaking Behavior Change |
Versions >= 2.39.0 require the cockroach database user of ZITADEL to be granted to the `VIEWACTIVITY` grant. This can either be reached by grant the role manually or execute the `zitadel init` command.
|
@@ -135,7 +135,7 @@ We understand that these advisories may include breaking changes, and we aim to
A-10007
Additional grant to cockroach database user |
- Breaking Behaviour Change |
+ Breaking Behavior Change |
Upcoming Versions require the SYSTEM_OWNER role to be available in the permission role mappings. Self-hosting ZITADEL users who define custom permission role mappings need to make sure their system users don't lose access to the system API.
|
@@ -165,7 +165,7 @@ As ZITADEL Cloud customer, you can also login to the