Skip to content

SmrtHub StorageGuard & Retention – IT Admin Brief

Who this is for

IT admins evaluating or operating SmrtHub. No SmrtHub experience required; assumes Windows familiarity and standard endpoint management practices.

What SmrtHub does (in plain language)

  • SmrtHub organizes user content (“SmrtSpaces”) and can send tasks to helper apps (Supervisor, PythonApp, etc.).
  • StorageGuard is the safety layer: it enforces retention policies, honors legal holds, and surfaces storage health. It does not arbitrarily delete user data; it follows the policy/holds you supply.
  • Support Bundles package diagnostics (logs/config/health) for troubleshooting with built-in redaction rules.

Key components

  • Retention policy (retention-policy.json, ProgramData\SmrtHub\Config\retention): Defines per-provider limits (days, free-space floors, max artifact size). One default policy plus optional per-provider overrides.
  • Legal holds (legal-holds.json, same folder): Represents holds that are already in force. If the file exists with entries, holds are active immediately; removing/emptying it lifts them.
  • Provider telemetry (ProgramData\SmrtHub\Logs\system-info\retention\providers\\provider-status.json): Health signals per storage provider (e.g., iCloud Drive, OneDrive). In production this would come from the provider’s APIs; in simulation we generate it.
  • Retention verifier: Background worker that loads policy + holds, ingests provider telemetry, and writes retention-verification.json plus retention-health.json under ProgramData\SmrtHub\Logs\system-info\retention.
  • Support Bundle: Export of logs/config/health for helpdesk or vendor support, following SmrtHub redaction rules.

Typical admin workflow

1) Deploy policy and holds - Copy retention-policy.json and (if needed) legal-holds.json into C:\ProgramData\SmrtHub\Config\retention. Use your software distribution tool or the provided push-admin-config.ps1. - If no holds are active, you may omit legal-holds.json entirely (or leave it with an empty holds array).

2) Provide telemetry - In production, a storage monitor would emit provider-status files. In the lab, run retention-simulator.ps1 to generate them. Example:

pwsh -File "C:\AppProjects\SmrtHub.App\Simulated-IT\retention-simulator.ps1" `
  -ProviderSlug icloud-drive `
  -UseJitter `
  -WarningUsedBytes 100GB `
  -CriticalUsedBytes 200GB
- Output lands in ProgramData\SmrtHub\Logs\system-info\retention\providers\<slug>\provider-status.json.

3) Let StorageGuard run - Ensure the StorageGuard Host service is installed. SmrtHub invokes it as needed; it writes verifier outputs under ProgramData\SmrtHub\Logs\system-info\retention.

4) Validate - retention-verification.json: should list your provider slugs with statuses; no "config invalid" warnings. - retention-health.json: should show Healthy and consecutiveFailures: 0. - Provider files: recent timestamps and expected status (Warning/Error if thresholds crossed).

Roles and responsibilities

  • IT Admin
  • Owns and distributes retention-policy.json (and legal-holds.json when holds are required).
  • Schedules or wires up provider telemetry (or runs the simulator in test).
  • Reviews verifier outputs; triggers Support Bundles for escalation.
  • End Users
  • Use SmrtHub normally. They do not manage retention or holds.
  • Security/Legal
  • Request creation/removal of legal holds; define scopes and duration; coordinate with IT to push updated legal-holds.json.
  • Push legal-holds.json only when a hold is active. Its presence means the hold is in force. Remove or update it to lift/adjust.
  • Holds block deletions that would violate the hold scope (e.g., preserving crash exports). They are not “if-this-then-that” policies; they are declarations of current holds.

Support Bundles

  • Use the built-in Support Bundle exporter (documented in SmrtHub’s support bundle README) when reporting issues. It gathers logs/config/health with redaction.

Operational checkpoints (what to verify)

  • Policy file on disk matches intended retention (validator caps retentionDays at 365; provider slugs must be unique).
  • Legal holds file present only when holds are required.
  • Provider-status files exist for each monitored provider and have fresh timestamps.
  • retention-verification.json shows providers with no config warnings; retention-health.json is Healthy.
  • StorageGuard Host service is installed and running.

Expected admin effort

  • Low, after initial setup: update policy/holds when business rules change; ensure telemetry continues to arrive; spot-check verifier/health outputs; run Support Bundles for incidents.

Quick references

  • Config path: C:\ProgramData\SmrtHub\Config\retention\
  • Telemetry path: C:\ProgramData\SmrtHub\Logs\system-info\retention\providers\
  • Verifier outputs: C:\ProgramData\SmrtHub\Logs\system-info\retention\retention-verification.json and retention-health.json
  • Push script: C:\AppProjects\SmrtHub.App\Simulated-IT\push-admin-config.ps1
  • Simulator: C:\AppProjects\SmrtHub.App\Simulated-IT\retention-simulator.ps1