The binary's code-signature entitlements grant get-task-allow, so a debugger can attach and read process memory at runtime. Release builds must not carry this entitlement.
The shipped binary's real code-signature entitlements grant get-task-allow, so on a connected machine any process can attach a debugger to the running app, dump its memory, swizzle methods, and lift live tokens. This reads the signature itself, not just the provisioning profile, so it catches builds an ad-hoc profile would hide.
A distributed build keeps its development anti-debugging posture, so the platform's runtime protection baseline is simply off for every user.