I have integrated a custom platform using building blocks. The building block that manages the permissions on the tenant uses the "User Permission" input source.
On the first creation, this works as expected.
However, the permissions on projects are managed in self-service by application teams. And after updating permissions, application teams expect that those permissions are also replicated to the tenant (similarly to how it's done for AWS/GCP/Azure/...).