Smrt.Infrastructure¶
Assembly:
Smrt.Infrastructure
Namespace: Smrt.Infrastructure.Encounters¶
ClipboardEncounterEnvelope¶
Lightweight view of the clipboard encounter envelope shared between C# and Python handlers.
Methods¶
ClipboardEncounterEnvelope(string param0, DateTimeOffset param1, string param2, Smrt.Infrastructure.Encounters.ClipboardFragmentDigest[] param3, Smrt.Infrastructure.Encounters.StorageGuardEvidenceView param4, string param5)¶
Lightweight view of the clipboard encounter envelope shared between C# and Python handlers.
ClipboardFragmentDigest¶
Digest metadata for each clipboard fragment contained in an encounter.
Methods¶
ClipboardFragmentDigest(string param0, string param1, string param2, int param3)¶
Digest metadata for each clipboard fragment contained in an encounter.
EncounterLogRecord¶
Canonical encounter log payload emitted to ProgramData.
Methods¶
EncounterLogRecord(string param0, string param1, DateTimeOffset param2, Smrt.Infrastructure.Encounters.ClipboardEncounterEnvelope param3, string param4)¶
Canonical encounter log payload emitted to ProgramData.
EncounterLogStore¶
Provides helpers for writing structured encounter logs under ProgramData.
Methods¶
Append(Smrt.Infrastructure.Encounters.EncounterLogRecord param0)¶
Appends the supplied encounter record to the current day's newline-delimited JSON file.
GetDirectory()¶
Gets the base directory containing encounter logs.
StorageGuardEvidenceView¶
Snapshot + verification details captured when creating an encounter.
Methods¶
StorageGuardEvidenceView(string param0, string param1, bool param2, string param3, DateTimeOffset? param4, string param5)¶
Snapshot + verification details captured when creating an encounter.
Namespace: Smrt.Infrastructure.StorageGuard¶
StorageEncryptionInfo¶
Encryption metadata derived from BitLocker/WMI (when available).
Methods¶
Unknown(string param0)¶
Creates an instance representing an unknown encryption state.
Propertys¶
Details¶
Optional extra context when the status is indeterminate.
Provider¶
Name of the encryption technology reporting the status.
Status¶
Overall encryption status.
StorageEncryptionStatus¶
Well-known encryption states.
Fields¶
Protected¶
Drive reports BitLocker protection.
Unknown¶
Drive did not report a BitLocker state.
Unprotected¶
Drive is accessible without BitLocker protection.
StorageGuardAclDetector¶
Evaluates ProgramData evidence directories for ACL drift so Storage Guard snapshots can record discrepancies.
StorageGuardAclInsight¶
Access control evaluation results for machine-wide evidence directories.
Propertys¶
Identifier¶
Stable identifier used for issue codes.
InheritsFromParent¶
Indicates whether the directory inherits ACLs from its parent.
Message¶
Human-readable message describing the result.
MissingPrincipals¶
Principals that were expected but missing from the ACL.
Path¶
Absolute path that was inspected.
Status¶
Result of the ACL inspection.
Target¶
Friendly name for the inspected location.
StorageGuardAclStatus¶
Possible outcomes of an ACL inspection.
Fields¶
AccessDenied¶
The process was denied access while enumerating ACLs.
Healthy¶
Directory is present and inherits the expected ACLs.
InheritanceBroken¶
Inheritance was explicitly disabled.
MissingPath¶
The target directory was not found.
MissingPrincipal¶
One or more required principals were not assigned.
Unknown¶
Inspection could not determine state.
StorageGuardCertificateLoader¶
Utility for resolving certificates from the Windows certificate store by thumbprint.
Methods¶
Load(string param0, Security.Cryptography.X509Certificates.StoreName param1, Security.Cryptography.X509Certificates.StoreLocation param2, bool param3)¶
Loads a certificate from the specified store or throws when it cannot be found.
StorageGuardClientOptions¶
Options controlling the HTTP client endpoints.
Propertys¶
SharedSecretHeaderName¶
Header used for shared-secret authentication.
SignatureEndpoint¶
Relative endpoint returning signature JSON.
SnapshotEndpoint¶
Relative endpoint returning raw snapshot JSON.
StorageGuardDevelopmentCertificates¶
Provides development-friendly certificate helpers for the Storage Guard components.
Methods¶
TryGetServerCertificate(Security.Cryptography.X509Certificates.X509Certificate2@ certificate, String@ message)¶
Attempts to locate a development certificate for the HTTPS server, falling back to a self-signed certificate when needed.
Parameters
certificate— Development certificate when discovery succeeds.message— Explanation of the certificate source.
Returns: true when a certificate is available.
StorageGuardEvidence¶
Represents the parsed snapshot/signature pair along with verification results.
Methods¶
StorageGuardEvidence(Smrt.Infrastructure.StorageGuard.StorageGuardSnapshot param0, Smrt.Infrastructure.StorageGuard.StorageGuardSignatureDocument param1, Smrt.Infrastructure.StorageGuard.StorageGuardVerificationResult param2, byte[] param3, string param4, string param5)¶
Represents the parsed snapshot/signature pair along with verification results.
StorageGuardEvidenceResolver¶
Loads the local Storage Guard snapshot + signature pair and verifies authenticity using the shared secret set.
Methods¶
TryLoad(Smrt.Infrastructure.StorageGuard.StorageGuardEvidence@ evidence, String@ error)¶
Attempts to load the storage guard snapshot/signature from disk and validate the signature.
Parameters
evidence— Populated with the parsed snapshot, signature, and verification result when successful.error— Provides a human-readable error when evidence is unavailable or invalid.
Returns: when the snapshot and signature were loaded (verification may still fail); otherwise .
StorageGuardHmacSignature¶
HMAC metadata accompanying a signed snapshot.
Propertys¶
Algorithm¶
Hash algorithm used for the HMAC.
KeyId¶
Identifier for the symmetric key.
Value¶
Base64-encoded HMAC result.
StorageGuardIssue¶
Issue surfaced by the guard.
Propertys¶
Code¶
Stable machine-readable issue code.
Message¶
Human-readable message explaining the issue.
Severity¶
Severity classification for the issue.
StorageGuardIssueSeverity¶
Severity classification for guard issues.
Fields¶
Critical¶
Immediate action required to keep SmrtSpace healthy.
Info¶
Informational only; no action required.
Warning¶
Potential problem that should be investigated soon.
StorageGuardOptions¶
Configurable guard thresholds.
Propertys¶
ActivityStalenessWarning¶
Time span after which stale directory activity should raise a warning. Default: 7 days.
CriticalFreeSpaceBytes¶
Critical threshold for absolute free space (bytes). Default: 2 GB.
Default¶
Factory for commonly used defaults.
WarningFreeSpaceBytes¶
Warning threshold for absolute free space (bytes). Default: 10 GB.
WarningFreeSpacePercent¶
Percentage threshold for warning when free space falls below this value. Default: 10%.
StorageGuardPaths¶
Centralized helpers for locating Storage Guard snapshot and signature artifacts on disk.
Fields¶
SignatureFileName¶
Canonical signature file name.
SnapshotFileName¶
Canonical snapshot file name.
SystemInfoSlug¶
Component slug storing system-info artifacts under the logs root.
Methods¶
GetSignaturePath()¶
Absolute path for storage-guard.sig.
GetSnapshotPath()¶
Absolute path for storage-guard.json.
GetSystemInfoDirectory()¶
Gets the absolute directory path where the system info artifacts live (prefers %ProgramData%/SmrtHub/Logs/system-info).
StorageGuardQuotaForecast¶
Projected storage posture relative to configured thresholds.
Methods¶
Unavailable(string param0)¶
Factory describing when quota forecasting cannot be performed.
Propertys¶
AvailableBytes¶
Currently available free space.
CriticalThresholdBytes¶
Critical threshold used during evaluation.
FreePercent¶
Percent of free space remaining.
Message¶
Describes why the risk level was chosen.
Risk¶
Overall risk indicator derived from the current free space.
TotalBytes¶
Total capacity of the volume.
WarningThresholdBytes¶
Warning threshold used during evaluation.
StorageGuardQuotaForecaster¶
Converts volume telemetry into a user-friendly quota projection block.
StorageGuardRetentionHash¶
Generates deterministic hashes for retention configurations embedded in Storage Guard snapshots.
Methods¶
Compute(Smrt.Infrastructure.StorageGuard.StorageGuardRetentionStatus param0)¶
Computes a SHA-256 hash (hex) of the retention configuration when present.
StorageGuardRetentionStatus¶
Represents the retention configuration snapshot embedded in Storage Guard output.
Methods¶
Unavailable(string param0)¶
Factory for unavailable retention snapshots.
Propertys¶
Configuration¶
Sanitized retention configuration loaded from disk (defaults when artifacts missing).
Error¶
Optional error description when retention data could not be loaded.
IsConfigured¶
True when policy/hold artifacts exist on disk.
StorageGuardSecretStore¶
Persists and retrieves the shared secret set used for HMAC + HTTP authentication.
Methods¶
Ensure()¶
Ensures the shared secret file exists. Generates and persists a secure key when missing.
EnsureSet()¶
Ensures the shared secret set file exists. Generates and persists a secure key when missing.
GetSecretPath()¶
Absolute path to the shared secret JSON file.
LoadExisting()¶
Loads the existing shared secret or throws if it has not been provisioned.
LoadExistingSet()¶
Loads the existing shared secret set or throws if it has not been provisioned.
StorageGuardService¶
Collects storage health telemetry (encryption, free space, sync heartbeat) so hosts can log and persist evidence.
Methods¶
CaptureSnapshot()¶
Executes the guard checks and returns a snapshot. Never throws; failures are recorded as issues.
CaptureSnapshot(string param0, string param1)¶
Executes the guard checks and returns a snapshot, optionally scoped to a specific SmrtSpace root.
When smrtSpaceRoot is null/empty, SmrtSpace-specific checks are skipped.
StorageGuardService(Smrt.Infrastructure.StorageGuard.StorageGuardOptions options, Smrt.Retention.Storage.RetentionConfigurationStore retentionStore)¶
Creates a new guard instance with optional threshold overrides.
Parameters
options— Configuration overrides for free-space and sync evaluation.retentionStore— Optional retention store overrides (primarily for testing).
WriteSnapshot(Smrt.Infrastructure.StorageGuard.StorageGuardSnapshot param0, string param1)¶
Writes the snapshot JSON to the default logs directory (or a caller-provided path) and returns the full file path.
StorageGuardSharedSecret¶
Shared secret material used for signing and verification.
Propertys¶
KeyBytes¶
Materialized key bytes for crypto APIs.
KeyId¶
Stable identifier for the key, allowing rotation.
Secret¶
Base64-encoded key bytes (minimum 64 bytes recommended).
StorageGuardSharedSecretSet¶
Represents the active Storage Guard shared secret plus any rollover keys trusted for verification.
Methods¶
EnumerateSecrets(bool param0)¶
Returns secrets that contain usable material.
Propertys¶
AllSecrets¶
Enumerates all usable secrets starting with the primary key.
Primary¶
Primary secret used for signing snapshots and authenticating HTTP callers.
Trusted¶
Additional secrets trusted for verification during rotations.
Version¶
Schema version for the persisted secret set.
StorageGuardSignatureDocument¶
Signature metadata persisted alongside storage-guard.json.
Propertys¶
Hmac¶
HMAC metadata + payload.
IssuedAtUtc¶
UTC timestamp when the signature was produced.
Sha512¶
Base64-encoded SHA-512 hash of the snapshot bytes.
Snapshot¶
Target snapshot file name.
Version¶
Schema version for the signature payload.
StorageGuardSignatureService¶
Computes and persists signature metadata for Storage Guard snapshots.
Methods¶
CreateSignature(byte[] param0, Smrt.Infrastructure.StorageGuard.StorageGuardSharedSecret param1, string param2)¶
Generates a signature document for the supplied snapshot bytes using the provided shared secret.
Deserialize(string param0)¶
Deserializes the signature JSON.
Serialize(Smrt.Infrastructure.StorageGuard.StorageGuardSignatureDocument param0)¶
Serializes the signature document to canonical JSON.
StorageGuardSignatureVerifier¶
Validates snapshot payloads against the persisted signature metadata.
Methods¶
Verify(byte[] param0, Smrt.Infrastructure.StorageGuard.StorageGuardSignatureDocument param1, Collections.Generic.IEnumerable param2)¶
Verifies SHA-512 + HMAC authenticity using the provided shared secret set.
Verify(byte[] param0, Smrt.Infrastructure.StorageGuard.StorageGuardSignatureDocument param1, Smrt.Infrastructure.StorageGuard.StorageGuardSharedSecret param2)¶
Verifies SHA-512 + HMAC authenticity using a single shared secret.
StorageGuardSignedSnapshot¶
Result payload for signed snapshot fetches.
Methods¶
StorageGuardSignedSnapshot(Smrt.Infrastructure.StorageGuard.StorageGuardSnapshot param0, Smrt.Infrastructure.StorageGuard.StorageGuardSignatureDocument param1, byte[] param2, Smrt.Infrastructure.StorageGuard.StorageGuardVerificationResult param3)¶
Result payload for signed snapshot fetches.
StorageGuardSignedSnapshotClient¶
HTTP client wrapper for retrieving signed Storage Guard snapshots from the service host.
Methods¶
FetchAsync(Threading.CancellationToken param0)¶
Downloads the latest snapshot + signature and verifies authenticity.
StorageGuardSignedSnapshotClient(Net.Http.HttpClient param0, Smrt.Infrastructure.StorageGuard.StorageGuardClientOptions param1, Smrt.Infrastructure.StorageGuard.StorageGuardSharedSecretSet param2)¶
Creates a signed snapshot client bound to the provided HTTP pipeline, endpoint options, and shared secret material.
StorageGuardSnapshot¶
Snapshot emitted by Smrt.Infrastructure.StorageGuard.StorageGuardService describing the current SmrtSpace storage posture.
Propertys¶
AclInsights¶
Access control health for machine-wide evidence directories.
CapturedAtUtc¶
UTC timestamp when the snapshot was captured.
Issues¶
Issues detected during evaluation.
QuotaForecast¶
Projected storage quota posture for the active SmrtSpace drive.
Retention¶
Retention policy + legal hold state captured alongside storage telemetry.
SmrtSpaceName¶
Friendly SmrtSpace name supplied by the caller (when available).
SmrtSpaceRoot¶
Absolute path to the SmrtSpace root recorded in configuration.
SyncProviders¶
Statuses for discovered sync providers associated with the SmrtSpace path.
Volume¶
Status of the underlying volume hosting the SmrtSpace root.
StorageGuardText¶
Shared formatting helpers for Storage Guard diagnostics.
StorageGuardVerificationResult¶
Result for signature verification attempts.
Methods¶
Failed(string param0)¶
Failure helper with message.
StorageGuardVerificationResult(bool param0, string param1, DateTimeOffset? param2)¶
Result for signature verification attempts.
Success(DateTimeOffset param0)¶
Successful verification helper.
StorageQuotaRiskLevel¶
Risk categories for the quota forecast.
Fields¶
Critical¶
Free space has fallen below the critical floor.
Healthy¶
Free space exceeds warning thresholds.
Unknown¶
Unable to calculate risk (missing data).
Warning¶
Approaching quota limits.
StorageVolumeStatus¶
Details about the drive hosting SmrtSpace data.
Propertys¶
AvailableBytes¶
Available free space in bytes.
DriveLetter¶
Drive letter (e.g. C:) hosting the SmrtSpace root.
Encryption¶
Encryption metadata derived from BitLocker/WMI.
FileSystem¶
Filesystem reported by the OS (NTFS, ReFS, etc.).
FreeSpacePercent¶
Percentage of free space (0-1) when determinable.
IsFixed¶
True when the drive is a fixed disk rather than removable.
IsReady¶
Indicates whether the drive is currently ready/accessible.
TotalBytes¶
Total capacity in bytes.
SyncProviderStatus¶
Sync provider health for the SmrtSpace path.
Propertys¶
Evidence¶
Evidence notes (process path, watcher root, etc.).
LastObservedActivityUtc¶
Last filesystem activity timestamp recorded for the provider directory.
PathMatchesProvider¶
True when the SmrtSpace root falls under the provider's watched folders.
ProcessRunning¶
Indicates the sync process is currently running.
ProcessStartTimeUtc¶
UTC start time for the sync process when available.
Provider¶
Name of the sync engine (OneDrive, Dropbox, etc.).
Namespace: Smrt.Infrastructure.SystemInfo¶
SystemInfoPaths¶
Canonical helpers for locating machine-wide "system-info" artifacts.
Fields¶
SystemInfoSlug¶
Component slug storing system-info artifacts under the logs root.
SystemSpecsFileName¶
Canonical system specs snapshot file name.
Methods¶
GetDirectory()¶
Gets the absolute directory path where system-info artifacts live.
Prefers %ProgramData%/SmrtHub/Logs/system-info and falls back to %LocalAppData%.
GetSystemSpecsPath()¶
Absolute path for system-specs.json.
SystemSpecsCapabilities¶
Capability probe results.
Methods¶
SystemSpecsCapabilities(bool param0, string param1, Collections.Generic.IReadOnlyList param2, Collections.Generic.IReadOnlyDictionary param3)¶
Capability probe results.
SystemSpecsCaptureOptions¶
Capture options for the system specs snapshot.
Fields¶
Default¶
Default capture options optimized for startup speed.
SchemaVersion¶
Current schema version for the JSON snapshot.
Methods¶
SystemSpecsCaptureOptions(bool param0, TimeSpan param1, Collections.Generic.IReadOnlyList param2)¶
Capture options for the system specs snapshot.
SystemSpecsCollector¶
Collects machine specs and capability probes for a durable snapshot.
Methods¶
CollectAsync(Smrt.Infrastructure.SystemInfo.SystemSpecsCaptureOptions param0, Threading.CancellationToken param1)¶
Collects a snapshot using the supplied options and a best-effort strategy.
SystemSpecsEvaluation¶
Human-facing capability evaluation result suitable for UI messaging.
Methods¶
SystemSpecsEvaluation(string param0, string param1, Collections.Generic.IReadOnlyList param2)¶
Human-facing capability evaluation result suitable for UI messaging.
SystemSpecsEvaluationReason¶
A structured reason explaining why a capability is supported/unsupported/unknown.
Methods¶
SystemSpecsEvaluationReason(string param0, string param1)¶
A structured reason explaining why a capability is supported/unsupported/unknown.
SystemSpecsHardware¶
Hardware details captured on a best-effort basis.
Methods¶
SystemSpecsHardware(string param0, int param1, long? param2)¶
Hardware details captured on a best-effort basis.
SystemSpecsOs¶
Operating system details captured for diagnostics and capability gating.
Methods¶
SystemSpecsOs(string param0, string param1, int param2, bool param3)¶
Operating system details captured for diagnostics and capability gating.
SystemSpecsRuntime¶
.NET runtime details for the current process.
Methods¶
SystemSpecsRuntime(string param0, string param1, string param2, bool param3, bool param4)¶
.NET runtime details for the current process.
SystemSpecsSnapshot¶
Snapshot of machine specs and capability probes captured at startup.
Methods¶
SystemSpecsSnapshot(int param0, DateTimeOffset param1, Smrt.Infrastructure.SystemInfo.SystemSpecsOs param2, Smrt.Infrastructure.SystemInfo.SystemSpecsRuntime param3, Smrt.Infrastructure.SystemInfo.SystemSpecsHardware param4, Smrt.Infrastructure.SystemInfo.SystemSpecsCapabilities param5, Collections.Generic.IReadOnlyList param6)¶
Snapshot of machine specs and capability probes captured at startup.
SystemSpecsWarning¶
Non-fatal warning captured during system specs collection.
Methods¶
SystemSpecsWarning(string param0, string param1)¶
Non-fatal warning captured during system specs collection.
SystemSpecsWriteResult¶
Result details for a successful snapshot write.
Methods¶
SystemSpecsWriteResult(string param0, DateTimeOffset param1, TimeSpan param2)¶
Result details for a successful snapshot write.
SystemSpecsWriter¶
Writes the system specs snapshot to the canonical system-info location.
Methods¶
WriteAsync(Smrt.Infrastructure.SystemInfo.SystemSpecsCaptureOptions param0, Threading.CancellationToken param1)¶
Collects and persists a fresh snapshot, returning the write result.
WinRtTypeNames¶
Known WinRT type names used for capability probes.
Fields¶
WindowsMediaOcrEngine¶
Legacy WinRT OCR engine type (late-bound) used for quick OCR availability checks.
Namespace: SmrtHub.Infrastructure¶
InfrastructureBootstrap¶
Provides a conventional bootstrap hook for infrastructure assemblies. Hosts call this during startup to centralize diagnostic breadcrumbs and to future-proof service registration.
Methods¶
EnsureLoaded(Action onLoaded)¶
Ensures the infrastructure assembly is loaded and optionally executes a callback for host-specific registration.
Parameters
onLoaded— Optional delegate invoked once the infrastructure layer has been marked as loaded.
Returns: when this is the first time infrastructure has been marked as loaded; otherwise .