Skip to content

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 .