bland-eye-62514
08/08/2025, 1:43 AMbrief-egg-61061
08/08/2025, 1:43 AMbrief-egg-61061
08/08/2025, 1:44 AMbland-eye-62514
08/08/2025, 1:46 AMbland-eye-62514
08/08/2025, 1:46 AMbrief-egg-61061
08/08/2025, 1:46 AMbrief-egg-61061
08/08/2025, 1:46 AMbland-eye-62514
08/08/2025, 1:52 AMbrief-egg-61061
08/08/2025, 1:52 AMbrief-egg-61061
08/08/2025, 1:53 AMmetadata_public
. Here’s why: - Email in metadata_public: The metadata_public
field is not validated by the identity schema and is not used by Ory for verification, recovery, or as a login identifier. Ory’s verification and recovery flows, as well as login, require the email to be present as a trait in the traits
object of the identity schema, not in metadata. Metadata fields are for system/admin use and are not integrated into the self-service flows for verification or recovery [Identity metadata & traits](https://www.ory.sh/docs/kratos/manage-identities/managing-users-identities-metadata). - Verifiable and recoverable: For an email to be verifiable and recoverable, it must be defined as a trait and annotated in the schema with the appropriate extensions, such as "verification": { "via": "email" }
and "recovery": { "via": "email" }
[Account recovery address](https://www.ory.sh/docs/kratos/self-service/flows/account-recovery-password-reset#account-recovery-address) [Address verification](https://www.ory.sh/docs/kratos/self-service/flows/verify-email-account-activation). - Immutable (user cannot edit): There is no built-in way in Ory Network or the Ory-managed UI to make a specific trait (like email) immutable for the user while still allowing it to be used for verification and recovery. The only way to prevent editing is to disable the entire settings flow, which also blocks password changes and other updates [Add GUI option to disable settings flow](https://github.com/ory/network/issues/188). Summary: - You must define the email as a trait in the identity schema for verification and recovery. - Placing email only in metadata_public
will not work for your requirements. - Making the email trait immutable (non-editable by the user) is not currently supported as a granular option in Ory Network or the managed UI. If you need this feature, you may want to follow or contribute to related feature requests in the Ory community.