{"path":"NexusReader.Application/Security/Authorization/ProUserRequirement.cs","purpose":"Defines an authorization requirement used to gate features to users with an active \"Pro\" subscription or sufficient AI tokens.","classification":{"role":"middleware","layer":"application","confidence":0.8,"evidence":["Implements Microsoft.AspNetCore.Authorization.IAuthorizationRequirement","Located under Security/Authorization in the Application project","Class is a marker requirement used in authorization policies"]},"className":"ProUserRequirement","methods":[],"types":[{"name":"ProUserRequirement","kind":"model","line":8,"purpose":"Marker requirement indicating the user must have an active Pro subscription or sufficient AI tokens for authorization policies.","fields":[]}],"serviceRegistrations":[],"startupActions":[],"dependencies":[],"patterns":["Authorization Policy"],"domainConcepts":["Pro subscription","AI tokens","Authorization requirement"],"keyDetails":"Simple marker class implementing IAuthorizationRequirement (lines 8-10). No runtime logic, fields, or methods; intended to be used with an authorization handler elsewhere that enforces the Pro/token rules.","orchestrationMethods":[],"typedContracts":[{"name":"ProUserRequirement","kind":"model","line":8,"fieldCount":0,"evidencePaths":["NexusReader.Application/Security/Authorization/ProUserRequirement.cs"]}],"persistenceInteractions":[],"externalInteractions":[],"evidenceAnchors":[{"kind":"typed-contract","label":"ProUserRequirement","line":8,"summary":"model with 0 fields.","confidence":0.8,"evidencePaths":["NexusReader.Application/Security/Authorization/ProUserRequirement.cs"]}],"cacheMetadata":{"schemaVersion":2,"analysisVersion":"2026-05-23.cache-v1","contentChecksum":"ff3407025e78eff2645f2b2f570c1ad9f337517b8f74ef7d16bdfd62afd38319","sourceByteSize":288,"analyzedAt":"2026-05-23T16:19:59.421Z","technology":"dotnet"}}