The cognito: namespace
Cognito reserves the `cognito:` prefix for its built-in claims: `cognito:groups`, `cognito:username`, `cognito:roles`, etc. Your own claims must use the `custom:` prefix.
This is enforced at the user pool schema level. You define each `custom:` attribute in the pool's schema, set its type and mutability, and only then can it be written. The constraint protects you from typo bugs (`custom:tennant_id` would be rejected) but means schema changes require redeploying the pool.