Im kind of new to Angular and I think I’m finally starting to understand the difference between canMatch and canActivate guards in terms of behavior, but I still struggle to understand which to use in which scenario.

Let’s say I have an application with some component/page that requires a user to be logged in, and also have certain permissions. It seems to me that it doesn’t really matter which one to use, right?

And yes, I understand that this is all client side and the actual backend endpoints need to do the same checks, I’m just wondering why you would use one over the other.

Any insights would be welcome.

Note: I’m using Angular 19.