Thanks Kevin, your guidance materially changed the direction I’m looking at. I’ve now done a bounded pass over the public es_new_descendants_client semantics and I think the descendant-scoped model is the right supported foundation to explore.
Before I prototype it, there are four details I’d like to clarify because they determine whether this can become a real authority boundary rather than just subtree policy:
If a descendants client has a pending AUTH event and the ES client crashes, disconnects, or calls es_delete_client, what exact disposition applies to that blocked operation? Does FAIL_CLOSED cover client loss, or only deadline expiry / queue overflow?
What exact operations generate AUTH_XPC_CONNECT? Is it limited to named Mach-service connections, or can it also cover connections established through transferred / anonymous XPC endpoints?
From the XPC service side, is there a supported way to obtain sender identity or audit-token evidence per connection or per message, so the service could reject a transferred endpoint/connection originating from outside the approved descendant subtree?
On distribution: is the descendants-client entitlement still expected to become self-service, and is a normal Developer ID app/helper using the currently managed Endpoint Security entitlement considered an intended production packaging model today?
I’m deliberately treating delegation outside the descendant subtree as a separate problem set, as you suggested, rather than trying to stretch the descendants API into solving everything.
If these points line up, my next step would be a very narrow PoC: one Human-authorized operation, one descendant worker, and one harmless XPC connection gated through the descendants client with explicit Allow/Deny.
Thanks again, this has been extremely helpful in narrowing the problem to a supported path.