Modify your implementation to support different types of restrictions.
Possible restrictions are:
- BlockAccess: Block access to the resource.
- LogAccess: Do not block access, but log an alert that the user has accessed the resource. This alert is logged through a stubbed service call.
These restrictions are not mutually exclusive. You may want to block access and log access for the same content tag.
This is about extensible design: model restrictions as composable policies (not a single enum), support multiple restrictions per tag, and define evaluation order (e.g., log then block or block then log). Interviewers look for clean abstractions, easy future extension (new restriction types), and clear behavior for“both apply”cases.