| ByocConsentProvider | class | public final class ByocConsentProvider implements SupportConsentProvider | Bring-Your-Own-Cloud (default) support-consent provider. Consent is license-driven: it delegates to LicenseValidator#debugCaptureConsent exactly as the Debug-Capture service did before this gate existed, so the default deployment mode has zero behavioural change. All redaction profiles are permitted (the customer-controlled per-profile toggle is a SaaS-only concept). |
| ByocConsentProvider | constructor | public ByocConsentProvider(LicenseValidator licenseValidator) | — |
| ConsentView | record | record ConsentView( boolean saasMode, boolean consented, OffsetDateTime consentedAt, Set<String> allowedProfiles, boolean breakGlass) | Immutable view of the current consent state (for the read endpoint). |
| SaasConsentProvider | class | public final class SaasConsentProvider implements SupportConsentProvider | Specaria-operated (saas) support-consent provider. Consent and the permitted redaction profiles are customer-set via the Settings UI and persisted in the system-setting table: saas.support_consent — boolean, default false. saas.support_consent_updated_at — ISO-8601 timestamp string. saas.support_consent_profiles — CSV subset of masked,raw. |
| SaasConsentProvider | constructor | public SaasConsentProvider(SystemSettingRepository settings, PlatformSettingsProvider platformSettings) | — |
| SupportConsentProvider | interface | public interface SupportConsentProvider | the customer-controlled Support-Data consent gate in front of the tiered Debug-Capture feature. Tier-0 basic telemetry stays UN-gated (it carries no customer bodies); this gate covers the Tier-1 (masked) and Tier-2 (raw) capture bundles. See Two implementations, selected at runtime by the SaaS license capability (gov.specaria.tenant. |
| allowedProfiles | method | public Set<String> allowedProfiles | — |
| allowedProfiles | method | public Set<String> allowedProfiles | — |
| allowedProfiles | method | Set<String> allowedProfiles | @return the redaction profiles the customer permits — a subset of {@code {structural, masked, raw}}. In saas this is EMPTY when the customer has not consented (a capture session taps raw data regardless of profile, so structural is gated too); once consented it always includes #PROFILE_STRUCTURAL. In byoc all three are permitted (license-driven). |
| breakGlass | method | public boolean breakGlass | — |
| breakGlass | method | default boolean breakGlass | @return true iff the platform break-glass override is forcing consent on (saas only); false in byoc and un-overridden saas. |
| consented | method | public boolean consented | — |
| consented | method | public boolean consented | — |
| consented | method | boolean consented | @return true iff rich (Tier-1/Tier-2) debug capture is permitted at all. Fail-closed: returns false when consent is absent. |
| consentedAt | method | public OffsetDateTime consentedAt | — |
| consentedAt | method | public OffsetDateTime consentedAt | — |
| consentedAt | method | OffsetDateTime consentedAt | @return when consent was last set, or null if never / not applicable. |
| isSaasMode | method | public boolean isSaasMode | — |
| isSaasMode | method | public boolean isSaasMode | — |
| isSaasMode | method | boolean isSaasMode | @return true iff this deployment is Specaria-operated (saas). |
| view | method | default ConsentView view | @return a ConsentView snapshot of the current state. |