Before clicking on this, I expected to see import-linter [0] which achieves something very similar but with, in my opinion, a bit less magic. Another solution in a similar spirit is Pants [1], though this is actually a build system which allows you to constrain dependencies between different artifacts (e.g. which modules are allowed to depend on which modules).<p>To Sourcery's credit, their product looks much more in the realm of "developer experience" -- closer to Copilot (or what I understand of it) than to import-linter. Props to them for at least having a page about security [2] and building a solution which doesn't inherently require all of your source code to be shared with a vendor's server.<p>[0] <a href="https://github.com/seddonym/import-linter" rel="nofollow">https://github.com/seddonym/import-linter</a><p>[1] <a href="https://www.pantsbuild.org/" rel="nofollow">https://www.pantsbuild.org/</a><p>[2] <a href="https://docs.sourcery.ai/Product/Permissions-and-Security/" rel="nofollow">https://docs.sourcery.ai/Product/Permissions-and-Security/</a>