Promote is the only way out
Every commit headed for public is scanned, both tree and message, using gitleaks’ default rules. It also catches .ghostbranch/ files, BEGIN-INTERNAL blocks and any names you list in block_patterns. A person can waive a finding by its id, but no flag skips the scan.