Penalty is the wrong mental model for most cases, and it is why people worry about the wrong outcome. Two mechanisms exist, they behave completely differently, and the common one is silent.
Devaluation is quiet and common. A manual action is loud and rare. Most teams worrying about the second are actually experiencing the first.
The first is devaluation. Google's automated spam systems, SpamBrain among them, are used to neutralize the credit that unnatural links pass. Google described this directly when it announced the December 2022 link spam update: links identified as unnatural stop counting, and sites that were relying on them can see rankings fall as a result. There is no message, no entry in Search Console, nothing to appeal. The links keep existing and stop doing anything.
The second is a manual action, specifically the unnatural links to your site action. That one does appear in Search Console with a description of the problem, it involves a human reviewer, and clearing it means cleaning up and then filing a reconsideration request. It is a much heavier outcome and a much rarer one. Exchanges are one bullet in a longer policy, and if you want the rest of it, what Google's link spam policy actually names walks through all eleven practices.
Which of these you are exposed to is mostly a question of scale and obviousness. A dozen reciprocal links across a real business with real partners does not read like a scheme to an automated system, because it is not one. Four hundred reciprocal placements acquired in a quarter, all with commercial anchor text, from sites with nothing in common, reads like precisely one thing.
Here is the part most pages on this topic will not tell you. Nobody outside Google knows where the internal thresholds sit, and we do not either. Everything on this page is pattern reasoning against published policy plus the judgment that comes from watching link profiles, and dressing that up as certainty would make it less useful, not more.