This is going to be a bit more technical as it goes into implementation.
As you know, RuneLite has it's own community plugin hub where plugins can be sideloaded from. MyPvM makes use of this - how can we trick RuneLite to sideload our plugin? There's many ways to achieve this, one such method is - let's intercept RuneLite's call to "get all community plugins" on the network layer and insert ourselves in there.
Your typical 3rd party clients like OpenOSRS, have macro mechanics that are typically introduced when the client launches. In the past, this is how they were detected - in laymen's terms, RuneLite figures out that its "fundamental client files" have been tampered with. Our solution doesn't do this - we're able to use a less intrusive way of getting onto the client. We do not need to make these client modifications as our plugin makes use of functions only available on vanilla RuneLite - no macro mechanics or features that are not already present.
Can this be detected? Absolutely. But keep in mind that RuneLite is open source and friendly to "new developers" whom are actively "making new plugins". Why are they not getting banned? Simply because they don't tamper with RuneLite files outside what is allowed. Unless our files are specifically targeted, the distinction between what we do is difficult to distinguish. As stated above, our approach is vastly different than actual 3pc bot makers whom introduce automation to RuneLite's core.