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.jsonplusretention-health.jsonunder 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
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(andlegal-holds.jsonwhen 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.
Legal holds: when and how¶
- Push
legal-holds.jsononly 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.jsonshows providers with no config warnings;retention-health.jsonis 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.jsonandretention-health.json - Push script:
C:\AppProjects\SmrtHub.App\Simulated-IT\push-admin-config.ps1 - Simulator:
C:\AppProjects\SmrtHub.App\Simulated-IT\retention-simulator.ps1