Amint egy függvényedet más is meghívhatja, az bizony publikus lesz. Sok hiba pont abból ered, hogy hopp, publikussá teszünk egy internal API-t, de mivel internal volt, basztunk az input validationre, hiszen senki más nem hívja a kódot, csak mi.
Aztán lett belőle szép sechole.
A https://en.wikipedia.org/wiki/Fallacies_of_distributed_computing mintájára lehetne "Fallacies of library programming" guide-ot is csinálni.
És a biztonságos szoftver igenis mindent mindenütt checkel, ahol control transfer van.