I'm not Canadian, but it seems similarly written to how laws in the US have been exploited to be used to spy on Americans. And despite not being Canadian, as an American I have a horse in this race, as the OP notes...
| many of these rules appear geared toward global information sharing
I see a lot of people arguing that these bounds are reasonable so I want to make an argument from a different perspective:
Investigative work *should* be difficult.
There is a strong imbalance of power between the government and the people. My little understanding of Canadian Law suggests that Canada, like the US, was influenced by Blackstone[0]. You may have heard his ratio (or the many variations of it)
| It is better that ten guilty persons escape than that one innocent suffer.
What Blackstone was arguing was about the legal variant of "failure modes" in engineering. Or you can view it as the impact of Type I (False Positive) and Type II (False Negative) errors. Most of us here are programmers so this should be natural thinking:
when your program fails how do you want it to fail? Or think of it like with a locked door. Do you want the lock to fail open or closed? In a bank you probably want your safe to fail closed: the safe requires breaking into to access again. But in a public building you probably want it to fail open (so people can escape from a fire or some other emergency that is likely the reason for failure).
This frame of thinking is critical with laws too! When the law fails how do you want it to fail? So you need to think about that when evaluating this (or any other) law. When it is abused, how does it fail? Are you okay with that failure mode? How easy is it to be abused? Even if you believe your current government is unlikely to abuse it do you believe a future government might? (If you don't believe a future government might... look south...)
A lot of us strongly push against these types of measures not because we have anything to hide nor because we are on the side of the criminals. We generally have this philosophy because it is needed to keep a government in check. It doesn't matter if everyone involved has good intentions. We're programmers, this should be natural too! It doesn't matter if we have good intentions when designing a login page, you still have to think adversarially and about failure modes because good intentions are not enough to defend against those who wish to exploit it. Even if the number of exploiters is small the damage is usually large, right?
This framework of thinking is just as beneficial when thinking about laws as it is in the design of your programs. You can be in favor of the intent (spirit of the law), but you do have to question if the letter of the law is sufficient.
I wanted to explain this because I think it'll help facilitate these types of discussions. I think they often break down because people are interpreting from very different mental frameworks. Disagree with me if you want, but I hope making the mental framework explicit can at least improve your arguments :)
[0] https://en.wikipedia.org/wiki/Blackstone%27s_ratio