# GPS Backup Verification — Per-Customer Destination Map

**Purpose:** Resolve every billed GPS "Data Backup" line to a real, *working* destination.
Feeds Phase 4 of the GPS -> GuruRMM coverage audit. See `wiki/projects/gps-rmm-audit.md`.

- Built 2026-07-05 (Howard). Sources: **MSP360 MBS API (authoritative backup layer)** +
  B2 (destination) + Seafile + ownCloud. Datto Workplace pending Mike's super-admin key.
- **MSP360 is the source of truth for "is it backing up":** `/api/Monitoring` reports every
  backup plan (computer, last run, status, data) across 37 companies / 66 plans. B2 buckets
  are just where the Cloud plans land. Creds: `msp-tools/msp360-api.sops.yaml`.
- Billed-backup flags from tracker.md `Svc` column (B = Data Backup billed).
- Reconciliation note: bucket presence != a backup ran. MSP360 `LastStart` + `Status` is the
  real signal — used below.

---

## 1. Billed-backup GPS clients (Svc = B) -> verified status

20 of the 40 active GPS clients bill a Data Backup line.

| Client | Bkt | Backing up? | Evidence (MSP360 unless noted) | Verdict |
|--------|:---:|:-----------:|-------------------------------|---------|
| Dataforth Corp | A | YES | 12 plans, AD1/AD2/etc daily Success (-> `ACG-Dataforth`) | RESOLVED |
| Valley Wide Plastering | A | YES | 4 plans, VWP-* daily Success (-> `VWP-Backup`) | RESOLVED |
| Arizona Medical Transit | A | **NO** | MSP360 company exists, **0 backup plans** | **FINDING: billed, not backing up** |
| Glaz-Tech Industries | B | PARTIAL | GTI-FINANCESVR daily Success; **GTI-INV-VMHOST last 2025-10-26 (stale)** (-> `ACG-GLAZTECH`) | RESOLVED (1 server stale) |
| Jimmy Company | B | YES | Blaster2 Cloud Success; local plans failing (disk full) | RESOLVED (billing flag: 12 billed/1 box) |
| Horseshoe Management | B | YES | HSM-NewServer daily Success (-> `Horseshoe`) | RESOLVED |
| Grabb & Durando Law | B | **NO** | GND-SERVER Cloud plan **status=Failed, 0 bytes** | **FINDING: backup failing** |
| Quantum Wealth Mgmt | B | ? | **No MSP360 company** | MISSING — Datto candidate |
| Reliant Well Drilling | C | ? | **No MSP360 company** | MISSING — Datto candidate |
| Curtis Plumbing | C | YES | CP-QB + SRV02 daily Success | RESOLVED |
| The Prairie Schooner | C | ? | **No MSP360 company** | MISSING — Datto candidate |
| Mineralogical Record | C | YES | ownCloud `minrec` (98 GB) | RESOLVED (ownCloud) |
| T & C Sorensen | C | **NO** | MSP360 company "Sorensen" exists, **0 plans** (ACG-TCA is NOT theirs — see §3) | **FINDING: billed, not backing up** |
| Ridgetop Group | C | YES | RGI-DC Cloud Success | RESOLVED |
| Brett Interiors | C | YES | Server image daily Success (-> `ACG-Brett`) | RESOLVED |
| Bill Tedards | C | **STALE** | Tedards DESKTOP-SUFJR0J last Success **2025-07-12 (~1 yr ago)** | **FINDING: backup stale ~12 mo** |
| Janet Altschuler | C | ? | **No MSP360 company** | MISSING — Datto candidate |
| Business Svcs of Tucson | C | YES | KAT1 Local Profile Success (-> `ACG-BST` + ownCloud `bst`) | RESOLVED |
| Design and Brand Envoys | C | ? | **No MSP360 company** | MISSING — Datto candidate |
| Gary A Hartman LLC | C | YES | Hartman DESKTOP-EVA4H1A backing up (path warnings) | RESOLVED |

**Tally (20):** 11 RESOLVED (actively backing up) · 4 FINDINGS (destination exists but
broken) · 5 MISSING (no destination anywhere — Datto candidates).

- **MISSING (5) — check once Datto enumerates:** Quantum Wealth, Reliant Well Drilling,
  The Prairie Schooner, Janet Altschuler, Design and Brand Envoys. If not Datto users, these
  are billed-but-unbacked.

---

## 2. Backup-health findings (billed + configured, but NOT protected right now)

These are the highest-priority operational findings — the client pays for backup and a
destination/company exists, but no good recent restore point is being produced.

| Client | Machine | Problem | Last good backup |
|--------|---------|---------|------------------|
| Arizona Medical Transit | — | MSP360 company but **zero plans** configured | never |
| T & C Sorensen | — | MSP360 company "Sorensen" but **zero plans** | never |
| Grabb & Durando | GND-SERVER | Cloud plan **Status=Failed, 0 bytes** | check console for last success |
| Bill Tedards | DESKTOP-SUFJR0J | Backing up but **last success ~2025-07-12** (~12 mo stale) | 2025-07-12 |
| Glaz-Tech | GTI-INV-VMHOST | Second server image **last 2025-10-26** (~8 mo stale); GTI-FINANCESVR is current | 2025-10-26 |
| Len's Auto | LAB-SVR | IMAGE last 2026-06-07, FILES last 2026-06-17 — matches tracker "LAB-SVR offline since 2026-06-18" | 2026-06-17 |

Also non-GPS but worth a note to Mike: **Peaceful Spirit** PST-SERVER Files plan
**Status=Failed** (0 bytes) despite 22K historical files in `ACG-PST`; **Desert RV**
local-storage plan Critical (E:\ unreachable). These are outside GPS scope.

---

## 3. Revenue-leak / billing-mismatch (data landing, backup NOT billed) — held for Mike/Winter

| Client | Destination | Billed Svc | Note |
|--------|-------------|:----------:|------|
| Cascades of Tucson | MSP360 CS-SERVER -> `ACG-Cascades` (active Success) | A E V | Backing up, **no B line billed** |
| Len's Auto Brokerage | MSP360 LAB-SVR -> `ACG-Lens` | E | Has backups, no B line (and LAB-SVR now stale) |
| Russo Law Firm | MSP360 RUSSO-SRV -> Cloud (2.7 TB) + Seafile `russo@rrs-law.com` (2.2 TB) | A E V | Backing up + 2.2 TB Seafile, **no B line** |
| The Marc Group | ownCloud `themarcgroup` (29 GB) | E | 29 GB stored, billed email only |

---

## 4. Orphan destinations — identified (non-GPS clients / ACG internal / stale)

All resolved via MSP360 company names + IX cPanel map + client wiki. None are GPS gaps.

**Now identified (were unknown):**
- `ACG-PST` (22,054 files) = **Peaceful Spirit** (MSP360 PST-SERVER; current plan failing).
- `ACG-TCA` (404 files) = **Tucson Coin and Autograph** (MSP360 DESKTOP-P36LUUN + Seth-PC,
  both Success). NOT T&C Sorensen.
- `ownCloud mara` / `jburger` — still unidentified (small; low priority).

**Non-GPS clients with active MSP360 backups (not audit gaps):** Financial Safeguards
(FSG-SRV-02 **active** — the `MSPBackups20200311` bucket is stale but FSG uses a current
one), Rednour Law (`ACG-REDNOUR`), Rohrbach (`ACG-Rohrbach` + ownCloud), Martell &
Associates (ownCloud `Martell`), Universal Cryogenics, Tucson Coin & Autograph, Tucson
Safety and Medical (last 2026-02-25 — stale), Khalsa Montessori, LaHC, Desert RV, Anaise,
Peaceful Spirit.

**ACG internal:** `ACG-Internal`, `ACG-Tech03L-Backup`, ownCloud `sysadmin`, Seafile
`mike`/`howard`, MSP360 ACG-Internal (NEPTUNE Exchange backup).

**Not a backup:** ownCloud `pavon` (14.2 TB) — Pavon video-surveillance archive, ownCloud
is source of truth (`wiki/clients/pavon.md`).

**Stale / cleanup (Mike's call):** `MSPBackups20200311` (ex-client FSG, 2021).

---

## 5. Datto Workplace (enumeration pending Mike's super-admin key)

- Confirmed via RMM detection: Birth Biologic (`ACG-DWP-X-BB`, `BB-*`/`KSTEEN*`/`EVO-X1`).
- When the key lands: `py .claude/skills/datto-workplace/scripts/datto_workplace.py projects --json`,
  then check the 5 MISSING clients (§1) against it.

---

## Next actions

1. **Datto (blocked on Mike):** enumerate; resolve the 5 MISSING — Quantum Wealth, Reliant,
   Prairie Schooner, Janet Altschuler, Design & Brand Envoys.
2. **Backup-health findings (§2) — operational, fix these:** AMT + T&C Sorensen have no
   backup plans at all; Grabb GND-SERVER failing; Bill Tedards ~12 mo stale; Glaz-Tech
   GTI-INV-VMHOST ~8 mo stale; Len's LAB-SVR stale (offline). Route per client.
3. **Held for Mike/Winter (§3):** Cascades/Len's unbilled backups; Russo 2.7 TB Cloud + 2.2 TB
   Seafile no B line; Marc Group ownCloud.
4. **Cleanup:** confirm `MSPBackups20200311` (FSG) for deletion; identify ownCloud `mara`/`jburger`.
5. Optional: build a small `msp360` read-only skill (login + Monitoring) — this pass was done
   via direct API; a skill would make backup-status checks repeatable for the whole fleet.
