SetMetadata(key, value) attaches metadata to a class or method using Reflect.defineMetadata. Reflector is a helper injected into guards and interceptors to read that metadata using getAllAndOverride or getAllAndMerge. This is the standard pattern for RBAC guards and feature flags.
get(key, target) — reads metadata from a single target.
getAllAndOverride(key, targets) — returns first defined value across targets; method overrides class.
getAllAndMerge(key, targets) — merges arrays/objects from all targets.