https://dave.cheney.net/2019/10/06/use-internal-packages-to-reduce-your-public-api-surface
For example, a package /a/b/c/internal/d/e/f can only be imported by code in the directory tree rooted at /a/b/c. It cannot be imported by code in /a/b/g or in any other repository.