From c4fdb5a233f4e908e2fb2e38f6ce03d0d276fed7 Mon Sep 17 00:00:00 2001 From: Howard Enos Date: Sun, 19 Apr 2026 12:50:15 -0700 Subject: [PATCH] sync: auto-sync from ACG-TECH03L at 2026-04-19 12:50:13 Author: Howard Enos Machine: ACG-TECH03L Timestamp: 2026-04-19 12:50:13 --- .claude/messages/for-howard.md | 48 +- .claude/messages/for-mike.md | 42 + ...des-staff-editor-cover-email-2026-04-18.md | 42 + .../questionnaires/cascades-staff-editor.html | 773 ++++++++++++++++++ ...ades-user-access-questionnaire-Ashley.docx | Bin 0 -> 46177 bytes ...scades-user-access-questionnaire-John.docx | Bin 0 -> 46180 bytes ...es-user-access-questionnaire-Meredith.docx | Bin 0 -> 46175 bytes ...er-access-confirmation-email-2026-04-18.md | 225 +++++ ...wareness-email-recoder-phish-2026-04-19.md | 27 + ...9-crystal-rodriguez-phish-investigation.md | 169 ++++ .../2026-04-19-intune-mdm-prereq-gap.md | 114 +++ .../scripts/generate-user-questionnaire.py | 693 ++++++++++++++++ .../scripts/prep-profile-for-redirection.ps1 | 152 ++++ 13 files changed, 2238 insertions(+), 47 deletions(-) create mode 100644 .claude/messages/for-mike.md create mode 100644 clients/cascades-tucson/docs/cloud/cascades-staff-editor-cover-email-2026-04-18.md create mode 100644 clients/cascades-tucson/docs/cloud/questionnaires/cascades-staff-editor.html create mode 100644 clients/cascades-tucson/docs/cloud/questionnaires/cascades-user-access-questionnaire-Ashley.docx create mode 100644 clients/cascades-tucson/docs/cloud/questionnaires/cascades-user-access-questionnaire-John.docx create mode 100644 clients/cascades-tucson/docs/cloud/questionnaires/cascades-user-access-questionnaire-Meredith.docx create mode 100644 clients/cascades-tucson/docs/cloud/user-access-confirmation-email-2026-04-18.md create mode 100644 clients/cascades-tucson/docs/user-awareness-email-recoder-phish-2026-04-19.md create mode 100644 clients/cascades-tucson/reports/2026-04-19-crystal-rodriguez-phish-investigation.md create mode 100644 clients/cascades-tucson/reports/2026-04-19-intune-mdm-prereq-gap.md create mode 100644 clients/cascades-tucson/scripts/generate-user-questionnaire.py create mode 100644 clients/cascades-tucson/scripts/prep-profile-for-redirection.ps1 diff --git a/.claude/messages/for-howard.md b/.claude/messages/for-howard.md index e953cfd..0e7eb18 100644 --- a/.claude/messages/for-howard.md +++ b/.claude/messages/for-howard.md @@ -4,50 +4,4 @@ Check this file at sync. Delete items after you've addressed them. --- -## 2026-04-18 — GuruRMM is now a git submodule - -The `projects/msp-tools/guru-rmm/` folder is no longer tracked as regular -files in claudetools. It is now a git submodule pointing to the live gururmm -Gitea repo. You need to initialize it on ACG-TECH03L. - -**Run this once after pulling:** - -```bash -cd D:/claudetools # or wherever your claudetools checkout is -git submodule update --init projects/msp-tools/guru-rmm -``` - -This clones the full gururmm repo into that folder. After that, pulling -claudetools will NOT automatically update the submodule — you need to -run this to get the latest gururmm code: - -```bash -git submodule update --remote projects/msp-tools/guru-rmm -``` - -**Working on gururmm code going forward:** - -```bash -cd projects/msp-tools/guru-rmm # this is now its own repo -git pull # get latest -# make changes, commit, push as normal -cd ../../../ # back to claudetools root -git add projects/msp-tools/guru-rmm -git commit -m "chore: update gururmm submodule pointer" -``` - -**Why this changed:** - -The old copy in claudetools was drifting behind the live repo on the server. -Features were being built in the gururmm repo that session logs in claudetools -marked as "Done" — causing context loss between sessions. Submodule means -one source of truth. - -**Gitea credentials** for the submodule are stored in your local git config, -not in .gitmodules. If the submodule can't authenticate, run: - -```bash -git config --local submodule."projects/msp-tools/guru-rmm".url \ - "https://azcomputerguru:Gptf%2A77ttb123%21%40%23-git@git.azcomputerguru.com/azcomputerguru/gururmm.git" -git submodule sync -``` +*No pending messages.* diff --git a/.claude/messages/for-mike.md b/.claude/messages/for-mike.md new file mode 100644 index 0000000..730591d --- /dev/null +++ b/.claude/messages/for-mike.md @@ -0,0 +1,42 @@ +# Note for Mike + +## From Howard, 2026-04-19 + +### Cascades of Tucson - M365 Remediation App - Identity Protection scope + +During today's phishing investigation on Cascades of Tucson (crystal.rodriguez, et al.), the 10-point breach check returned `Forbidden` on `/identityProtection/riskyUsers` and `/identityProtection/riskDetections` because **Claude-MSP-Access (ComputerGuru - AI Remediation, App ID `fabb3421-8b34-484b-bc17-e46de9703418`) lacks admin consent for `IdentityRiskyUser.Read.All` on the Cascades tenant.** + +**Asking before I grant:** should I go ahead and give this consent, or do you want to hold off? + +#### What the scope does + +- **Read-only.** Reads Entra ID Identity Protection signals: risky-user state (low/medium/high), and the underlying risk detections (impossible travel, anonymous IP, leaked credentials, malware-linked IP, etc.). +- **No write capability** - not `ReadWrite.All`, just `Read.All`. The app cannot reset risk state, dismiss detections, or modify anything in Identity Protection. +- **Tenant-scoped.** Consent applies only to the Cascades tenant; doesn't affect other clients. + +#### Why I want it + +- Closes a visibility gap in our standard breach-check workflow. Today I had to tell the report "this check skipped" for risky-user signals. +- Saves us from logging into the Defender / Entra portal manually during IR to cross-check. +- Cascades has Defender P1+ (based on targeted-user protection already configured), so risk data exists to read. + +#### Why you might say no + +- Every additional scope on the app = larger blast radius if the app's client secret/cert leaks. +- Scope is persistent until revoked via the portal. +- Identity Protection data can include sensitive info (IPs, geo, device hints). If our audit logging is weak, reading it leaves tracks we should be aware of. + +#### My lean + +**Allow it.** The scope is read-only, the app is narrowly controlled (only us), and we already have Mail.Read, User.Read.All, Exchange Admin, etc. — which are materially more sensitive than this. The inconsistency of "we can read full mailbox contents but not risky-user flags" doesn't match a risk-based model. + +If you say yes, consent URL is: +``` +https://login.microsoftonline.com/207fa277-e9d8-4eb7-ada1-1064d2221498/adminconsent?client_id=fabb3421-8b34-484b-bc17-e46de9703418 +``` + +Takes ~30 seconds. Sign in as a GA on Cascades' tenant (sysadmin@ works), review the permission, click Accept. + +Full investigation report: `clients/cascades-tucson/reports/2026-04-19-crystal-rodriguez-phish-investigation.md` + +- Howard diff --git a/clients/cascades-tucson/docs/cloud/cascades-staff-editor-cover-email-2026-04-18.md b/clients/cascades-tucson/docs/cloud/cascades-staff-editor-cover-email-2026-04-18.md new file mode 100644 index 0000000..cafef46 --- /dev/null +++ b/clients/cascades-tucson/docs/cloud/cascades-staff-editor-cover-email-2026-04-18.md @@ -0,0 +1,42 @@ +# Cover email — sending the HTML staff editor + +**To:** Meredith Kuhn, John Trozzi (cc: Ashley Jensen) +**From:** Howard Enos — Computer Guru +**Date:** 2026-04-18 +**Subject:** Optional tool to edit the staff list — try this if the Word doc feels heavy + +--- + +Meredith / John, + +I had some free time and I made this HTML file that may or may not help. + +It's an alternative to marking up the Word questionnaire — same data, same questions, just in a format that might be faster to work through on a computer. Double-click the file and it opens in Edge, Chrome, Safari, whatever you have. Nothing to install, no login, no account to make. + +**What you get:** + +- Every staff member already grouped by department, pulled from what's in Active Directory today +- Drag the `⋮⋮` grip next to a name to move them to a different department (instead of retyping names in another table) +- Click any name or title to correct the spelling or title inline — no form fields, just click and type +- A notes box under each name for freeform comments — spelling concerns, "this person is leaving in June," "they actually belong in Memory Care," whatever you want me to know about that person +- Access-type buttons for each person: **D** = desktop only, **P** = phone only, **D+P** = both, **—** = leave blank if you're not sure and we'll decide together +- **Outside** (building) and **ALIS** are separate checkboxes — tick them independently for whoever needs them +- **+ Add** row at the bottom of every department if I've missed someone + +A few people already have notes pre-filled where I had open questions — Matt Brooks' department, Christine Nyanzunda's one-or-two-accounts question, Kyla Quick Tiffany's name spelling, Patricia Sandoval-Beck's hyphen, and a few caregiver names I wasn't confident on. Answer those in the notes box next to each name and I'll have everything I need. + +**How to send it back:** + +Your edits autosave to the browser as you type. When you're done, click the green **Save to File** button at the top — that downloads a new copy of the HTML file with everything baked in. Email that copy back to me and I'll see every change. If you'd rather, **Export JSON** or **Export CSV** buttons also work. Any of the three is fine — whichever is easiest on your end. + +If you switch computers partway through, use Save to File and open the downloaded copy on the other machine — your edits travel with the file. + +**If the Word doc is easier, use the Word doc.** This is not a replacement, just another option. Whichever format gets us accurate answers is the right tool. + +Thank you — + +Howard + +--- + +*Draft — prepared 2026-04-18 as a cover email for the cascades-staff-editor.html attachment.* diff --git a/clients/cascades-tucson/docs/cloud/questionnaires/cascades-staff-editor.html b/clients/cascades-tucson/docs/cloud/questionnaires/cascades-staff-editor.html new file mode 100644 index 0000000..324dabe --- /dev/null +++ b/clients/cascades-tucson/docs/cloud/questionnaires/cascades-staff-editor.html @@ -0,0 +1,773 @@ + + + + + +Cascades — Staff & Department Editor + + + +
+

Cascades — Staff & Department Editor

+ loaded + + + + + + +
+ +
+
+ How to use: +
    +
  • Drag the ⋮⋮ grip on any name to move them to another department — drop on the department header or anywhere in its list.
  • +
  • Click any name or title to edit it inline.
  • +
  • Notes box under each name — click it to add spelling concerns, department conflicts, schedule notes, or anything else we should know about that person.
  • +
  • + Access type (pick one): + D = desktop / PC only, + P = phone only, + D+P = both a desk and a shared phone, + = not set / leave blank if you're not sure and we'll decide together. +
  • +
  • Outside is a separate checkbox — tick it if the person is allowed to sign in from outside the building (home, personal cell, travel). Leave it unchecked to lock them to Cascades. Works with any access type.
  • +
  • ALIS is a separate checkbox — tick it for anyone who logs into ALIS.
  • +
  • Use the + Add row at the bottom of a department to add a person we've missed.
  • +
+
+

+ +
+ +
+ + +
+
+ + + + + + diff --git a/clients/cascades-tucson/docs/cloud/questionnaires/cascades-user-access-questionnaire-Ashley.docx b/clients/cascades-tucson/docs/cloud/questionnaires/cascades-user-access-questionnaire-Ashley.docx new file mode 100644 index 0000000000000000000000000000000000000000..b30acddc2f4eded9daf7673774878c45d946f58e GIT binary patch literal 46177 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

Ti?U%8{q2FU}j126KYOmAtbb>mM9rZaYI zOR=1knUOEmEMgD^RT76rHg~2rB9~2-52C!0dBvu^fqU~_XgN=H$c+bTzHh|*#XdG_ zzDO~z4)V-2vTaBEN71{3`$w^xUHeBd(zkVYP_u}$RbsbwjL^GjaS-Ni&x$@%kHeO!l*f@iT$NhzUK9j6s) zX{Yz>xwx{H9K;I-hSIBNG>MuoM-M{A(YUPRhmm)-%#jzI&r8TvPc5xR+*d6;##|RI zPev-Q<@_SIqPMiluP3r1j}+5A9CD7NWOhO0QaJ?b>NduN7r)ObC>d z`GBO3{v;J+5>%}AUT}n@)~QhH%Lg5jqpC?I)BKUtVU9p1f;Pe7_F>Fvi_b5DoTr?p zgkqmN@|>?fEDX|=J15OW*JZ?EB4(L$p45wd$^p|s^2Kj=>YbPDRW4i{BaEfi)kpUS zYMo&q9ZIiTun!8ao6UQESAAtZm1oIEP8ZIDDwTmnf{i3yk^jNK5du1_uJC^`;B!5! zW$9pzrAIj_G^?1{uPAoa(H0&$ScLMJ*9ux9rHP}c(&L&#2q;|8hIz1l) z znEsaueDmZF69CNr#YEB=+s~QfU_e#4LTzw1gH(giq+V+;H3|H}loqCs?IRnk2u*n(>R#Yh|-Xc;da!oF7X#68*yE*D(Cq)i?+ zoV*U4{Cz-BOVX=zN@Ff+LATt6@aIh?2kCO<6S)C{S$3`Pas4r64oeK~(WI@*Y^h98 zumIt%;vDMQR5M@lRoAxs7pu;q={9{J30v#mCEOHuf-<<}Mk#n;0VxKlN|bE>Jx3P2Ee8&33Sk#uFmh+k`d+SZ8c^Lr6y0x0eTp9RFu!SY z!)d9i_Trn=#LKEHb`-StY$B??m2{PK$%R07ca3@awyhWB0JaHk+#a^Z6P$Zi7) z!1;YFu6&?zCAzHkoAx~Jfx1dm*h5@R33zul{VI_~3$rod3yjr&q_?!S4(pXx^Le}a zs%)zASHBKGKgm1yAN}#ZwE+DnN-TDtgH8jl0nm5HP^^5Rdr(muEGa(VSbl!@6wyZ&{)&9+$fJMV;DSVw`I4<_(A+09&!#F zSgcL~+XY98S6btWOs`H~+4z?N1rKO~�I6sYTemHZg>LI!?xd!$ml36m_5cQAlk* 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 literal 0 HcmV?d00001 diff --git a/clients/cascades-tucson/docs/cloud/questionnaires/cascades-user-access-questionnaire-Meredith.docx b/clients/cascades-tucson/docs/cloud/questionnaires/cascades-user-access-questionnaire-Meredith.docx new file mode 100644 index 0000000000000000000000000000000000000000..8de391797c1c9df901359b202c48045e16114bf7 GIT binary patch literal 46175 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 -- display name is a typo for "Recorder"; the address spoofs her old pre-marriage email (Suszek -> Rodriguez) +**To:** `` (Crystal Rodriguez received via BCC-style delivery) +**Subject:** Recorded Message playback +**Sending IP:** 89.106.1.38 (Interserver, Inc / AS19318 / Secaucus NJ) + +### Authentication results (from MIME header) + +``` +Authentication-Results: spf=fail (sender IP is 89.106.1.38) smtp.mailfrom=cascadestucson.com; + dkim=none (message not signed) header.d=none; + dmarc=fail action=none header.from=cascadestucson.com; + compauth=pass reason=703 +Received-SPF: Fail (protection.outlook.com: domain of cascadestucson.com does not + designate 89.106.1.38 as permitted sender) +``` + +**SPF fail + DKIM none + DMARC fail + compauth=pass=703** = the tenant's Anti-Spoofing / Anti-Phishing policy is **not enforcing a quarantine/reject action on authenticated-failure internal-lookalike spoofs.** EOP used heuristic "trust" to let it through. + +## Per-check findings (Crystal Rodriguez) + +| # | Check | Result | +|---|---|---| +| 1 | Inbox rules (Graph) | 0 | +| 2 | Mailbox forwarding / auto-reply | disabled, none | +| 3a | Hidden inbox rules (Exchange REST) | 3 - all benign system rules (Junk E-mail, OOF InternalSenders, OOF AllExternalSenders) | +| 3b | Non-SELF mailbox permissions | 0 | +| 3c | Non-SELF SendAs | 0 | +| 3d | ForwardingAddress / ForwardingSmtpAddress | null / null | +| 4a | OAuth permission grants | 0 | +| 4b | App role assignments | 0 | +| 5 | Authentication methods | 2 (no new methods in attack window) | +| 6 | Interactive sign-ins (30d) | 0 (user likely on mobile/cached Outlook; no foreign or legacy auth) | +| 7 | Directory audits (30d) | 2, both `Microsoft Substrate Management` (benign system) | +| 8 | Risky user | `Forbidden` - app lacks `IdentityRiskyUser.Read.All` on this tenant (see Gaps) | +| 9 | Sent items (25) | Normal business correspondence; one "FW: Recorded Message playback" to howard@azcomputerguru.com (user reporting to IT) | +| 10 | Deleted items (25) | Newsletters/marketing + 1 "Undeliverable: Cascades of Tucson Respite Program" bounce; no deleted security alerts | + +## Parallel checks - other recipients from same attacker IP + +### Lois Lane (lois.lane@cascadestucson.com) +- 0 Graph rules, 1 hidden rule (Junk E-mail benign), 0 forwarding, 0 OAuth, 0 delegates +- 11 interactive sign-ins 30d, all US, no legacy-auth clients +- **Clean** + +### Susan Hicks (susan.hicks@cascadestucson.com) +- 0 Graph rules, 3 hidden rules (Junk + OOF system rules, all benign), 0 forwarding, 0 OAuth, 0 delegates +- 6 interactive sign-ins 30d, all US +- Self-service password change on 2026-04-13 (predates attack by 5 days; self-initiated) + MFA device registration activity (benign) +- **Clean** + +## Suspicious items + +- **Sending infrastructure:** 89.106.1.38 is a commodity VPS (Interserver). Block or throttle at tenant edge. +- **Self-spoof pattern** ("from yourself to yourself" via From header): used against Lois and Susan. This is a classic voicemail-phish signature. +- **Maiden-name spoof:** attacker specifically used `crystal.suszek` against Crystal Rodriguez. Non-trivial OSINT - the pre-marriage name isn't in the current GAL. Likely harvested from LinkedIn or an old mail list. + +## Gaps - checks not completed + +- **`riskyUsers` endpoint returned 403** for all three users. The Claude-MSP-Access app does not have `IdentityRiskyUser.Read.All` admin-consented on this tenant. To fix: grant consent at: + `https://login.microsoftonline.com/207fa277-e9d8-4eb7-ada1-1064d2221498/adminconsent?client_id=fabb3421-8b34-484b-bc17-e46de9703418` +- **Non-interactive sign-ins (beta) returned 0** for Crystal. Could mean the scope is missing or she genuinely had none; lean toward missing visibility. Worth re-running once Identity Protection consent is granted. + +## Next actions + +1. **No account remediation required.** Do not force a password reset on Crystal Rodriguez - no compromise evidence. Forcing a reset on a non-breached user creates confusion and erodes trust. (If Crystal is already anxious, a voluntary password rotation is harmless but optional.) +2. **Quarantine / purge the two delivered phishing copies** from Crystal's mailbox (IDs in `/tmp/remediation-tool/207fa277-e9d8-4eb7-ada1-1064d2221498/user-breach/crystal_rodriguez_cascadestucson_com/`) plus the single delivered copies in Lois Lane's and Susan Hicks's mailboxes. Use Purview Content Search / Compliance Search -> Purge. +3. **Tighten anti-spoofing policy** in Microsoft Defender for Office 365: + - Set Anti-Phishing policy to **Quarantine** (not Move to Junk) for spoofed internal senders + - Enable **Impersonation protection** on cascadestucson.com domain + - Consider blocking composite-auth `reason=703` overrides via mail-flow rule that junks messages where SPF=fail AND DMARC=fail AND the header-From is @cascadestucson.com +4. **Block sender IP at tenant edge:** add 89.106.1.38 to the IP Allow/Block Lists -> Block List (Defender > Policies > Anti-spam > Connection filter policy). +5. **User awareness ping:** short note to Crystal, Lois, and Susan confirming the email was fake, the IT team handled it, and no action required on their end. Reinforces the right reporting behavior Crystal already demonstrated (she asked before clicking - model behavior). +6. **Grant Identity Protection consent** on the Claude-MSP-Access app (link above) so future investigations can see risky-user signals on this tenant. +7. **Run a tenant-wide sweep** (`tenant-sweep.sh`) if concerned this attacker is probing beyond these three users. Recommended but not urgent given the tight clustering and clean mailboxes. + +## Remediation actions + +Executed by Howard Enos on 2026-04-19. + +### 1. Permanent-deleted 4 phishing messages (Graph `POST /messages/{id}/permanentDelete`) + +| Mailbox | Count | Result | +|---|---|---| +| crystal.rodriguez@cascadestucson.com | 2 | HTTP 204 (success) | +| lois.lane@cascadestucson.com | 1 | HTTP 204 (success) | +| susan.hicks@cascadestucson.com | 1 | HTTP 204 (success) | + +Messages are hard-deleted (not recoverable via Deleted Items or Recoverable Items). + +### 2. Blocked sender IP `89.106.1.38` in Connection Filter Policy + +`Set-HostedConnectionFilterPolicy -Identity Default -IPBlockList @("89.106.1.38")` + +Verified: `IPBlockList: ["89.106.1.38"]`. All future mail from this IP will be rejected at SMTP accept time, before content filtering runs. + +### 3. Anti-Phishing policy tightening (PARTIAL - see gap below) + +`Set-AntiPhishPolicy -Identity "Office365 AntiPhish Default" -AuthenticationFailAction Quarantine` **succeeded** (was `MoveToJmf`, now `Quarantine`). + +`Set-AntiPhishPolicy -Identity "Standard Preset Security Policy..." -AuthenticationFailAction Quarantine` was **silently rejected** by EOP with warning: `"All recommended properties will be controlled by Microsoft."` Microsoft locks the Standard Preset's authentication-fail action at `MoveToJmf`. + +**Impact:** Users covered by the Standard Preset (which is the active policy for this tenant) will continue to get spoofed-auth-fail messages dropped to Junk Folder, not Quarantine. The Default policy's Quarantine setting only applies to users not covered by any other policy. Mitigation options (none auto-executed — require portal action or user approval): + +- **Option A (recommended):** Enable the built-in **Strict Preset Security Policy** in the Defender portal. The Strict preset enforces Quarantine for auth-fail spoofs. https://security.microsoft.com/presetSecurityPolicies +- **Option B:** Create a new custom Anti-Phish policy with `AuthenticationFailAction: Quarantine` and assign a rule with priority above the Standard Preset. Carries some risk if the rule's user-scope is wrong. +- **Option C:** Add a Mail Flow (Transport) Rule to quarantine messages where the header-From domain is `cascadestucson.com` AND the sending IP is outside the tenant's allowed egress. Verify first that no legitimate third-party service (marketing automation, forms, etc.) sends from `@cascadestucson.com`. + +Note: the IP block (Action #2) defends against *this specific attacker* regardless of preset policy, so the immediate threat is contained. + +### 4. User awareness email drafted + +Text in `clients/cascades-tucson/docs/user-awareness-email-recoder-phish-2026-04-19.md`. Not auto-sent - send manually from howard@azcomputerguru.com to the three recipients. + +### 5. Identity Protection scope consent - NOT executed (requires Global Admin in browser) + +Click to grant consent for the Claude-MSP-Access app to read risky-user signals on future investigations: + +https://login.microsoftonline.com/207fa277-e9d8-4eb7-ada1-1064d2221498/adminconsent?client_id=fabb3421-8b34-484b-bc17-e46de9703418 + +### Audit artifacts + +- Purge responses: `/tmp/remediation-tool/207fa277-e9d8-4eb7-ada1-1064d2221498/purge/permdel_*.json` (all HTTP 204) +- Set-HostedConnectionFilterPolicy response: `/tmp/remediation-tool/207fa277-e9d8-4eb7-ada1-1064d2221498/remediate/connfilter_set.json` +- Set-AntiPhishPolicy responses: `/tmp/remediation-tool/207fa277-e9d8-4eb7-ada1-1064d2221498/remediate/antiphish_*.json` + +## Data artifacts + +Raw JSON at `/tmp/remediation-tool/207fa277-e9d8-4eb7-ada1-1064d2221498/user-breach/`: +- `crystal_rodriguez_cascadestucson_com/` - full 10-point breach check +- `lois_lane_cascadestucson_com/` - full 10-point breach check +- `susan_hicks_cascadestucson_com/` - full 10-point breach check + +Phishing email MIME (for IOC extraction / reporting to Interserver abuse): `/tmp/recoder_mime.eml` + +Message trace (V2) snapshot: `/tmp/mt_ip_wide.json` diff --git a/clients/cascades-tucson/reports/2026-04-19-intune-mdm-prereq-gap.md b/clients/cascades-tucson/reports/2026-04-19-intune-mdm-prereq-gap.md new file mode 100644 index 0000000..163db50 --- /dev/null +++ b/clients/cascades-tucson/reports/2026-04-19-intune-mdm-prereq-gap.md @@ -0,0 +1,114 @@ +# Cascades Tucson — Intune / MDM Prerequisites Gap Check + +- **Date:** 2026-04-19 (UTC) +- **Tenant:** `cascadestucson.com` (`207fa277-e9d8-4eb7-ada1-1064d2221498`) +- **Intune account ID:** `15b6c28c-47fa-40b0-a6af-b9e03ab959c3` +- **Method:** Read-only Graph API via Claude-MSP-Access app (no changes made) +- **Goal:** establish what's configured vs. what needs setup before enrolling 25 shared Android phones (AESDM) + 9 kitchen iPads (Intune DEM) + +--- + +## Findings + +| # | Prereq | Status | Notes | +|---|---|---|---| +| 1 | **MDM authority = Intune** | Not set (`null`) | `intuneAccountId` is populated so Intune is provisioned. Just the authority flag hasn't been toggled. One-click in the admin center. One-time irreversible choice. | +| 2 | **Apple MDM push certificate** | Not configured (`ResourceNotFound`) | Blocks ALL iPad/iOS management. Must generate at `identity.apple.com/pushcert` and upload. Annual renewal. | +| 3 | **Apple Business Manager / DEP token** | 0 tokens | Optional for 9 iPads — manual enrollment works without it, but lose management on factory reset. Recommended. | +| 3b | **Apple VPP token** | 0 tokens | Not required unless paid iPad apps need to be pushed. Skip for kitchen POS scenario. | +| 4 | **Managed Google Play enterprise** | `bindStatus: notBound` / `enrollmentTarget: none` | Blocks ALL Android Enterprise management (AESDM, dedicated, work profile). One-click bind in the admin center, sign in with a Cascades Google account. | + +## Existing Intune objects + +| Object | Count | Notes | +|---|---|---| +| Compliance policies | 0 | Clean slate | +| Device configuration profiles | 0 | Clean slate | +| Enrollment configurations | 5 | All are Microsoft built-in defaults (device limit, platform restrictions, WHfB, Windows 10 ESP, Windows Restore). None custom. | +| Android Device Owner enrollment profiles | 0 | None (need for AESDM / dedicated device mode) | +| Managed devices | 0 | None enrolled | + +--- + +## Gap list — what Howard needs to do before enrolling devices + +### Must-do (blocking) + +1. **Set MDM authority to Intune.** + Admin center → *Tenant administration → Mobile Device Management authority* → pick **Microsoft Intune**. Takes 5 seconds. Cannot be undone. Is a hard prerequisite for every step below. + +2. **Upload Apple MDM push certificate.** + Required for any iPad management. Process: + - Intune admin center → *Devices → iOS/iPadOS → Enrollment → Apple MDM Push Certificate* + - Download CSR from Intune + - Upload CSR at `identity.apple.com/pushcert` using a *dedicated* Apple ID (recommend `mdm-push@cascadestucson.com` so turnover doesn't break it — not Meredith's personal, not kitchenipads@) + - Download the `.pem` cert from Apple, upload back into Intune + - **Annual renewal** on the same Apple ID — if the Apple ID is lost, ALL enrolled iPads must be wiped and re-enrolled + +3. **Bind Managed Google Play account.** + Required for AESDM and any Android Enterprise policies. + - Intune admin center → *Devices → Android → Android Enterprise → Managed Google Play* + - Click *Launch Google* → sign in with a dedicated Google account (recommend `managedplay@cascadestucson.com`, NOT a personal Google account) + - Accept terms, link → bindStatus becomes `bound` + +### Should-do (strong recommendation) + +4. **Create Apple Business Manager account and link to Intune.** + - Sign up at `business.apple.com` (free, takes ~15 min + an Apple ID verification phone call for the D-U-N-S number) + - Create an MDM server entry in ABM named "Intune — Cascades" + - Download ABM token, upload to Intune at *Enrollment → Apple → Enrollment program tokens* + - For existing iPads: add their serial numbers to ABM manually (one-time) + - For future iPads: buy them through Apple or an ABM-linked reseller and they auto-appear + +### Not needed for current scope + +5. **Apple VPP token** — only needed if pushing paid apps. Kitchen POS app is probably free or sideloaded. +6. **Windows Autopilot** — 89 Entra-registered Windows PCs exist, but Windows management is out of scope for this pass. + +--- + +## Dependencies (do in this order) + +``` +Step 1 (MDM authority) + │ + ├── Step 3 (Google Play bind) ──► can enroll Android phones + │ + ├── Step 2 (Apple push cert) ──► can manually enroll iPads + │ │ + │ └── Step 4 (ABM + token) ──► iPads auto-enroll + survive reset +``` + +Steps 1 and 3 together unlock the 25 Android phones. Steps 1 + 2 together unlock the 9 iPads (with ABM as the recommended polish). + +--- + +## Policy scaffold (to be built after prereqs) + +For the Android phones (AESDM): +- Enrollment profile: Android Enterprise *Corporate-owned, dedicated device*, mode = *AOSP multi-user* (this is AESDM) — generates a token/QR code for device enrollment +- Compliance policy: encryption on, screen lock 4+ digits, 2-min timeout, no developer options, no debugging, Android 11+ +- Configuration profile: Wi-Fi (CSCNet), restrictions (no factory reset, no USB transfer, no unknown sources) +- Apps: Company Portal (system), Authenticator, Edge, ALIS (as web app), Teams — required, auto-install + +For the kitchen iPads (Intune DEM): +- Create `dem-ipads@cascadestucson.com` user with Business Premium license assigned, mark as Device Enrollment Manager +- Enrollment profile: iOS/iPadOS, device-without-user-affinity, kiosk mode +- Compliance policy: passcode required, encryption on, no jailbreak +- Configuration profile: Wi-Fi (CSCNet VLAN 20), Single App Mode locked to the kitchen POS app, disable App Store, disable Settings +- Apps: kitchen POS app (required) + +--- + +## Data sources + +Raw Graph responses cached at `/tmp/remediation-tool/207fa277-e9d8-4eb7-ada1-1064d2221498/intune-prereqs/`: +- `org.json` — organization object (MDM authority field) +- `devicemgmt-beta.json` — deviceManagement root +- `apple-push.json` — Apple push cert +- `dep.json` — DEP tokens +- `vpp.json` — VPP tokens +- `gplay.json` — Managed Google Play binding +- `compliance.json`, `configs.json`, `enrollment.json` — existing policies +- `android-doe.json` — Android Device Owner enrollment profiles +- `managed-devices.json` — enrolled device inventory diff --git a/clients/cascades-tucson/scripts/generate-user-questionnaire.py b/clients/cascades-tucson/scripts/generate-user-questionnaire.py new file mode 100644 index 0000000..59a86ca --- /dev/null +++ b/clients/cascades-tucson/scripts/generate-user-questionnaire.py @@ -0,0 +1,693 @@ +""" +Generate one Cascades Tucson user-confirmation questionnaire per recipient +(Meredith, Ashley, John). Output: three .docx files plus a shared .md source. + +Format: Section 1 is the roster grouped by department with a [Keep] checkbox, +editable name/title, and a Notes line for role description. Sections 2-7 are +per-attribute checklists ("Who is a driver?", "Who uses ALIS?", etc.), +organized by department so scanning is fast. Section 8 is free text. + +Usage: + python generate-user-questionnaire.py +""" + +from pathlib import Path +from docx import Document +from docx.shared import Pt, Inches, RGBColor +from docx.enum.text import WD_ALIGN_PARAGRAPH +from lxml import etree + +OUT_DIR = Path(__file__).parent.parent / "docs" / "cloud" / "questionnaires" +OUT_DIR.mkdir(parents=True, exist_ok=True) + +# Word XML namespaces for content control checkboxes (clickable in Word) +W_NS = "http://schemas.openxmlformats.org/wordprocessingml/2006/main" +W14_NS = "http://schemas.microsoft.com/office/word/2010/wordml" + +# Global counter for unique SDT IDs +_sdt_id_counter = [100000] + + +def _next_sdt_id(): + _sdt_id_counter[0] += 1 + return _sdt_id_counter[0] + + +def add_clickable_checkbox(paragraph): + """ + Append a Word content-control checkbox to the given paragraph. Renders as + an empty box that toggles to a checked box on click in Word 2010+, Word + for the web, and Word mobile. Adds a trailing space run for readability. + """ + sdt_id = _next_sdt_id() + xml = f''' + + + + + + + + + + + + + + + + + \u2610 + + + ''' + sdt = etree.fromstring(xml) + paragraph._p.append(sdt) + # Trailing space after the checkbox so the label has breathing room + space_run = paragraph.add_run(" ") + return space_run + +RECIPIENTS = [ + ("Meredith Kuhn", "Executive Director"), + ("Ashley Jensen", "Assistant Executive Director"), + ("John Trozzi", "Maintenance Director"), +] + +# ----------------------------------------------------------------------------- +# Staff roster by department +# Each entry: (display_name, title, notes_flag) +# notes_flag text is prefilled into the Notes line when helpful +# ----------------------------------------------------------------------------- +STAFF = { + "Administrative": [ + ("Meredith Kuhn", "Executive Director", ""), + ("Ashley Jensen", "Assistant Executive Director", ""), + ("Lauren Hasselman", "Business Office Director", ""), + ("Allison Reibschied", "Accounting Assistant", ""), + ], + "Marketing / Sales": [ + ("Megan Hiatt", "Sales Director", "Handles resident intake forms (PHI)"), + ("Crystal Rodriguez", "Sales Associate", "Handles resident intake forms (PHI)"), + ("Tamra Matthews", "Move-In Coordinator", "Leaving June 2026 — please confirm"), + ], + "Care, Assisted Living (Nursing / Clinical)": [ + ("Lois Lane", "Health Services Director", ""), + ("Karen Rossini", "Health Services Manager", ""), + ("Britney Thompson", "Memory Care Nurse", "Title says Memory Care but department currently Assisted Living — which is correct?"), + ("Veronica Feller", "Care, Assisted Living Aide", ""), + ], + "Care, Memory Care": [ + ("Shelby Trozzi", "Memory Care Director", ""), + ("Christine Nyanzunda", "Memory Care Admin Assistant", "Also appears on caregiver list (Sun/Mon AM) — same person, right?"), + ], + "Resident Services": [ + ("Christina DuPras", "Resident Services Director", ""), + ("Cathy Kingston", "Receptionist", "Front desk shared PC"), + ("Shontiel Nunn", "Receptionist", "Front desk shared PC"), + ("Kyla Quick Tiffany", "Receptionist", "NEW — not yet in AD. Spelling correct?"), + ("Michelle Shestko", "MC Receptionist", "MC front desk shared PC"), + ("Sebastian Leon", "Courtesy Patrol", ""), + ("Sheldon Gardfrey", "Courtesy Patrol", ""), + ("Ray Rai", "Courtesy Patrol", ""), + ], + "Life Enrichment": [ + ("Susan Hicks", "Life Enrichment Director", ""), + ("Sharon Edwards", "Life Enrichment Assistant", ""), + ], + "Culinary": [ + ("JD Martin", "Culinary Director", ""), + ("Ramon Castaneda", "Kitchen Manager", ""), + ("Alyssa Brooks", "Dining Manager", ""), + ], + "Maintenance": [ + ("John Trozzi", "Maintenance Director", ""), + ("Matt Brooks", "Memory Care Receptionist", "HR record shows department = Maintenance. Which is correct — Maintenance or Memory Care?"), + ], + "Housekeeping": [ + ("Lupe Sanchez", "Housekeeping Director", "AKA Guadalupe Sanchez"), + ], + "Transportation": [ + ("Richard Adams", "Driver", ""), + ("Julian Crim", "Driver", ""), + ("Christopher Holick", "Driver", ""), + ], +} + +# ----------------------------------------------------------------------------- +# Caregivers by shift pattern (39 total, none currently in AD/M365) +# Each entry: (display_name, role, location, phone_number, flag_note) +# ----------------------------------------------------------------------------- +CAREGIVERS = { + "Tuesday-Saturday (15)": [ + ("Thelma Abainza", "Caregiver", "Tower", "520-867-2579", ""), + ("Niel Castro", "MedTech / CCG", "Tower", "520-697-4644", ""), + ("Espe Esperance", "MedTech", "Tower", "520-788-9558", ""), + ("Barbara Johnson", "Caregiver", "Tower", "520-204-3449", ""), + ("Kasey Flores", "Caregiver", "Memory Care", "520-250-1451", ""), + ("Richard Flores", "Caregiver", "Memory Care", "520-873-7727", ""), + ("Marie Kastner", "Caregiver", "Memory Care", "714-576-9858", ""), + ("Bella Mendoza", "Caregiver", "Memory Care", "520-358-2000", ""), + ("Rosa Morales", "MedTech", "Memory Care", "312-213-8780", ""), + ("Sandra Padilla", "MedTech / CCG", "Tower", "520-585-3317", ""), + ("Polett Pinazavala", "MedTech", "Memory Care", "520-449-5533", "Please confirm spelling"), + ("Whisper Reed", "MedTech", "Tower (overnight)", "520-312-7575", ""), + ("Patricia Sandoval-Beck", "MedTech", "Tower", "520-343-8093", "Hyphenated last name correct?"), + ("Charity Sika", "Caregiver", "Memory Care", "623-251-8032", ""), + ("Ederick Yuzon", "Caregiver", "Tower", "520-603-8816", "Please confirm spelling"), + ], + "Sunday-Thursday (10)": [ + ("Juan Andrade", "Caregiver", "Memory Care", "520-528-4078", ""), + ("Jahmeka Clarke", "MedTech", "Memory Care", "520-649-7034", ""), + ("Karina Aziakpo", "MedTech / CCG", "Memory Care (overnight)", "520-392-6859", ""), + ("Jinnelle Dittbenner", "Caregiver", "Tower", "520-499-9996", ""), + ("Christine Nyanzunda (AM Sun/Mon only)", "MedTech", "Memory Care", "520-304-4251", "SAME person as the Memory Care Admin Assistant? (One account, not two)"), + ("Agnes McFerren", "Caregiver", "Tower", "520-406-3063", ""), + ("Samuel Ramirez", "Caregiver", "Tower", "520-488-5798", ""), + ("Erica Sanchez", "Caregiver", "Memory Care", "520-528-3387", ""), + ("Katrina Wyzykowski", "MedTech", "Memory Care", "520-347-1448", ""), + ("Corey Tate", "Caregiver (no MedTech)", "Tower (NOC)", "520-535-7821", ""), + ], + "Friday-Monday / weekend (5)": [ + ("Ashli Atwood", "MedTech / CCG", "Memory Care (overnight)", "715-200-1295", ""), + ("Cole Johnson", "MedTech", "Tower", "818-970-0890", ""), + ("Roseline Cooper", "Caregiver", "Memory Care (overnight)", "520-278-6817", ""), + ("Monique Lopez", "Caregiver (Fri+Sat doubles)", "Tower", "520-596-0969", ""), + ("Gloria Williford", "MedTech (Fri+Sat doubles)", "Memory Care", "928-551-1682", ""), + ], + "Thursday-Monday (3)": [ + ("Sarah Carroll", "Caregiver", "Tower", "520-409-2341", ""), + ("Luke Hogan", "Caregiver", "Tower", "520-312-0141", ""), + ("Gina Williams", "Caregiver", "Tower", "520-612-5075", ""), + ], + "Split / partial-week (3)": [ + ("Jen Higdon", "Caregiver", "Tower (M/W/F AM)", "520-730-3548", ""), + ("Mary Kariuki", "Caregiver", "Tower (Sat-Mon + Wed PM)", "520-309-1247", ""), + ("CeCe Lassey", "Caregiver", "Tower (Sun/Mon doubles + Tue PM)", "520-248-5982", ""), + ], + "Sunday & Monday only (1)": [ + ("Paty Doran", "MedTech / CCG", "Tower", "520-591-7368", "Paty, Patti, or Patricia? Please confirm"), + ], + "PRN / float (2)": [ + ("Ezekiel Huerta", "Caregiver (PRN)", "Tower", "520-591-6113", ""), + ("Maia Baker", "MedTech (PRN)", "Memory Care", "TBD", "On secondary sheet only — still employed?"), + ], +} + +# Flat list of ALL people, grouped by section, for the attribute checklists +def all_people_by_group(): + groups = [] + for dept, people in STAFF.items(): + names = [p[0] for p in people] + groups.append((dept, names)) + cg_all = [] + for _, people in CAREGIVERS.items(): + cg_all.extend(p[0] for p in people) + groups.append(("Caregivers (all 39)", cg_all)) + return groups + + +# ----------------------------------------------------------------------------- +# Document helpers +# ----------------------------------------------------------------------------- +def add_heading(doc, text, level=1): + h = doc.add_heading(text, level=level) + return h + + +def add_para(doc, text, bold=False, size=11, italic=False, color=None): + p = doc.add_paragraph() + run = p.add_run(text) + run.font.size = Pt(size) + run.bold = bold + run.italic = italic + if color: + run.font.color.rgb = color + return p + + +def add_checkbox_line(doc, text, indent=0.25): + p = doc.add_paragraph() + p.paragraph_format.left_indent = Inches(indent) + p.paragraph_format.space_after = Pt(2) + run = p.add_run(f"{CHECKBOX} {text}") + run.font.size = Pt(11) + return p + + +def add_notes_line(doc, label="Notes: ", indent=0.5): + p = doc.add_paragraph() + p.paragraph_format.left_indent = Inches(indent) + p.paragraph_format.space_after = Pt(6) + run = p.add_run(label + "_" * 80) + run.font.size = Pt(10) + run.font.color.rgb = RGBColor(0x60, 0x60, 0x60) + return p + + +def add_blank_line(doc): + p = doc.add_paragraph() + p.paragraph_format.space_after = Pt(0) + return p + + +def add_separator(doc): + p = doc.add_paragraph() + run = p.add_run("_" * 90) + run.font.color.rgb = RGBColor(0xCC, 0xCC, 0xCC) + p.alignment = WD_ALIGN_PARAGRAPH.CENTER + + +def add_attribute_question(doc, question_num, question_text, helper_text, include_caregivers=True): + """A question that lists names by department with a checkbox to mark yes.""" + add_heading(doc, f"{question_num}. {question_text}", level=2) + if helper_text: + add_para(doc, helper_text, italic=True, size=10, color=RGBColor(0x50, 0x50, 0x50)) + add_blank_line(doc) + + for dept, people in STAFF.items(): + add_para(doc, dept, bold=True, size=11) + for name, title, _ in people: + add_checkbox_line(doc, f"{name} — {title}", indent=0.35) + add_blank_line(doc) + + if include_caregivers: + add_para(doc, "Caregivers (none in M365 yet)", bold=True, size=11) + for group_name, people in CAREGIVERS.items(): + add_para(doc, f" {group_name}", italic=True, size=10) + for name, role, location, phone, _ in people: + add_checkbox_line(doc, f"{name} — {role} ({location})", indent=0.5) + add_blank_line(doc) + + +# ----------------------------------------------------------------------------- +# Document builder +# ----------------------------------------------------------------------------- +def build_doc(recipient_name, recipient_title): + doc = Document() + + style = doc.styles["Normal"] + style.font.name = "Calibri" + style.font.size = Pt(11) + + # ---- Title ---- + title = doc.add_heading("Cascades of Tucson — User + Access Confirmation", level=0) + p = doc.add_paragraph() + r = p.add_run(f"Prepared for: {recipient_name}, {recipient_title}") + r.bold = True + r.font.size = Pt(12) + p = doc.add_paragraph() + r = p.add_run("Prepared by: Howard Enos, Computer Guru \u2022 Date: 2026-04-18") + r.font.size = Pt(10) + r.italic = True + + add_separator(doc) + + # ---- Intro ---- + add_heading(doc, "Why we need this", level=1) + add_para( + doc, + "Before we purchase the Microsoft 365 Business Premium licenses, create the 39 new " + "caregiver accounts, and configure the security policies that lock down the shared " + "phones and PHI access, I need to know four things about every person on your staff:", + ) + add_checkbox_line(doc, "Is their name and department correct?", indent=0.3) + add_checkbox_line(doc, "How do they use technology day-to-day (company phone, PC, both)?", indent=0.3) + add_checkbox_line(doc, "Should they be allowed to sign in from outside the building?", indent=0.3) + add_checkbox_line(doc, "Which systems / mailboxes / apps do they actually need?", indent=0.3) + + add_para( + doc, + "Please answer the sections below at your own pace. Mark a box by double-clicking the " + "\u2610 and replacing it with an X, or simply type an X in front of the name. Cross out " + "anyone who should be removed. Write additions where it says \"Add anyone missing.\" " + "Leave Comments / Notes where helpful \u2014 the more context, the better the lockdown.", + italic=True, + size=10, + color=RGBColor(0x50, 0x50, 0x50), + ) + add_para( + doc, + "A quick note about ALIS: ALIS is the resident records website. When we tie it to " + "Microsoft, users who log into their Microsoft account will automatically be signed " + "into ALIS \u2014 no second username/password or second MFA prompt. That only works if " + "we know who needs it (Section 5).", + italic=True, + size=10, + color=RGBColor(0x50, 0x50, 0x50), + ) + doc.add_page_break() + + # ---- Section 1: Roster ---- + add_heading(doc, "Section 1 \u2014 The Staff Roster", level=1) + add_para( + doc, + "Below is every person we currently have on file, organized by department. For " + "each person: leave the Keep box checked if they are a current employee at that title, " + "or uncheck and strike through anyone who should be removed. Correct spellings " + "inline. Add a short note on the Notes line describing what they actually do day-to-day, " + "especially anything involving resident information (PHI), medication, or outside-network " + "access. Blank rows are at the bottom of each department for additions.", + italic=True, + size=10, + color=RGBColor(0x50, 0x50, 0x50), + ) + add_blank_line(doc) + + for dept, people in STAFF.items(): + add_heading(doc, dept, level=2) + for name, title, flag in people: + p = doc.add_paragraph() + p.paragraph_format.space_after = Pt(2) + p.paragraph_format.left_indent = Inches(0.25) + r = p.add_run(f"{CHECKBOX} Keep ") + r.bold = True + r = p.add_run(f"{name} \u2014 {title}") + if flag: + p2 = doc.add_paragraph() + p2.paragraph_format.left_indent = Inches(0.5) + p2.paragraph_format.space_after = Pt(2) + r = p2.add_run(f"\u203A {flag}") + r.italic = True + r.font.size = Pt(10) + r.font.color.rgb = RGBColor(0xB0, 0x40, 0x00) + add_notes_line(doc, " Notes: ") + + # Three blank add-row lines + p = doc.add_paragraph() + p.paragraph_format.left_indent = Inches(0.25) + r = p.add_run("Add anyone missing from this department:") + r.italic = True + r.font.size = Pt(10) + r.font.color.rgb = RGBColor(0x40, 0x40, 0x80) + for _ in range(3): + p = doc.add_paragraph() + p.paragraph_format.left_indent = Inches(0.25) + p.paragraph_format.space_after = Pt(2) + r = p.add_run(f"{CHECKBOX} Add Name: ________________________ Title: ________________________") + r.font.size = Pt(10) + add_notes_line(doc, " Notes: ") + add_blank_line(doc) + + # ---- Caregivers section ---- + doc.add_page_break() + add_heading(doc, "Section 1b \u2014 Caregivers (NEW \u2014 no current accounts)", level=1) + add_para( + doc, + "These are the 39 staff currently using shared workstation logins. None has an email " + "account or a Microsoft identity yet. They are the reason we are deploying the 25 " + "shared Android phones. Please confirm each name + role, correct any spelling, and " + "add anyone missing. Default assumption for every caregiver: phone-only, no outside " + "access (locked to Cascades network + managed shared phone only). Flag exceptions " + "in the Notes line.", + italic=True, + size=10, + color=RGBColor(0x50, 0x50, 0x50), + ) + add_blank_line(doc) + + for group_name, people in CAREGIVERS.items(): + add_heading(doc, group_name, level=2) + for name, role, location, phone, flag in people: + p = doc.add_paragraph() + p.paragraph_format.space_after = Pt(2) + p.paragraph_format.left_indent = Inches(0.25) + r = p.add_run(f"{CHECKBOX} Keep ") + r.bold = True + r = p.add_run(f"{name} \u2014 {role} ({location}) [{phone}]") + if flag: + p2 = doc.add_paragraph() + p2.paragraph_format.left_indent = Inches(0.5) + p2.paragraph_format.space_after = Pt(2) + r = p2.add_run(f"\u203A {flag}") + r.italic = True + r.font.size = Pt(10) + r.font.color.rgb = RGBColor(0xB0, 0x40, 0x00) + add_notes_line(doc, " Notes: ") + add_blank_line(doc) + + # Add-new-caregiver block + p = doc.add_paragraph() + r = p.add_run("Add any caregivers missing from this list:") + r.italic = True + r.font.size = Pt(10) + r.font.color.rgb = RGBColor(0x40, 0x40, 0x80) + for _ in range(5): + p = doc.add_paragraph() + p.paragraph_format.left_indent = Inches(0.25) + p.paragraph_format.space_after = Pt(2) + r = p.add_run(f"{CHECKBOX} Add Name: _______________________ Role: _______________________ Phone: ______________") + r.font.size = Pt(10) + + # ---- Attribute-based questions ---- + doc.add_page_break() + add_heading(doc, "Section 2 \u2014 Roles (check everyone who fits)", level=1) + + add_attribute_question( + doc, + "2a", + "Who is a Driver? (Transportation / residents to appointments)", + "Drivers typically use a company phone for dispatch and communication \u2014 usually no personal PC.", + include_caregivers=False, + ) + + add_attribute_question( + doc, + "2b", + "Who is a Nurse, MedTech, or Clinical Staff?", + "People in this group see resident medical information (PHI) and are the main reason we care about HIPAA audit logs and ALIS single sign-on.", + include_caregivers=True, + ) + + add_attribute_question( + doc, + "2c", + "Who handles resident intake paperwork, leases, or medical forms by email?", + "These people receive PHI via email from doctors, families, or facilities. They need the strongest anti-phishing and DLP (data loss prevention) policies.", + include_caregivers=False, + ) + + # ---- Section 3: Access questions ---- + doc.add_page_break() + add_heading(doc, "Section 3 \u2014 How They Use Technology", level=1) + add_para( + doc, + "For each person, please tell us whether they sit at a company PC, use a company " + "phone on shift, or both.", + italic=True, + size=10, + color=RGBColor(0x50, 0x50, 0x50), + ) + + add_attribute_question( + doc, + "3a", + "Who uses a COMPANY PC / DESKTOP?", + "Anyone who signs into a Windows computer at Cascades. Includes shared front-desk PCs.", + include_caregivers=True, + ) + + add_attribute_question( + doc, + "3b", + "Who uses a COMPANY PHONE (the 25 shared Android phones)?", + "Anyone who will pick up a shared phone at start of shift and use it for work (medication passes, resident records, email, rounds).", + include_caregivers=True, + ) + + add_attribute_question( + doc, + "3c", + "Who uses a COMPANY TABLET / iPad?", + "Specifically the 9 kitchen iPads + any others. Likely Culinary staff.", + include_caregivers=True, + ) + + # ---- Section 4: Outside access ---- + doc.add_page_break() + add_heading(doc, "Section 4 \u2014 Sign-In From Outside the Building", level=1) + + add_attribute_question( + doc, + "4a", + "Who should be allowed to sign in from OUTSIDE the building?", + "Home office, travel, personal cell, hotel, etc. Anyone NOT checked will be locked to " + "the Cascades network and managed devices only \u2014 which is what HIPAA and " + "Conditional Access prefer by default.", + include_caregivers=True, + ) + + add_attribute_question( + doc, + "4b", + "Who should be allowed to check email on their PERSONAL cell phone?", + "Separate question: some people may need outside access on a company laptop but NOT on a personal phone (HIPAA risk). Check only the people who genuinely need email on a personal device.", + include_caregivers=True, + ) + + # ---- Section 5: ALIS ---- + doc.add_page_break() + add_heading(doc, "Section 5 \u2014 ALIS (Resident Records)", level=1) + add_para( + doc, + "ALIS is the resident records website. If we connect ALIS to Microsoft, users who " + "sign into their Microsoft account will be automatically signed into ALIS \u2014 no " + "second username / password, no second MFA prompt, no separate login. This is also " + "where the per-person audit log lives (who opened what chart, when, from which device) " + "which is the HIPAA story.", + italic=True, + size=10, + color=RGBColor(0x50, 0x50, 0x50), + ) + add_para( + doc, + "We only want to connect ALIS for people who actually use it, so please check " + "carefully.", + italic=True, + size=10, + color=RGBColor(0x50, 0x50, 0x50), + ) + + add_attribute_question( + doc, + "5a", + "Who LOGS INTO ALIS today (resident charts, care plans, medication)?", + "", + include_caregivers=True, + ) + + add_attribute_question( + doc, + "5b", + "Who should be able to access ALIS from OUTSIDE the building?", + "Only matters for the people checked in 5a. Example: an on-call nurse charting from home.", + include_caregivers=True, + ) + + # ---- Section 6: Shared mailboxes ---- + doc.add_page_break() + add_heading(doc, "Section 6 \u2014 Shared Mailboxes (Accounting@, Frontdesk@, etc.)", level=1) + add_para( + doc, + "These are department mailboxes multiple people can access from their own sign-in. " + "For each mailbox below, check everyone who should receive and send email through it. " + "Leaving a mailbox blank means nobody needs it and we will decommission it.", + italic=True, + size=10, + color=RGBColor(0x50, 0x50, 0x50), + ) + add_blank_line(doc) + + shared_mailboxes = [ + ("accounting@cascadestucson.com", "Accounting / AR / AP"), + ("accountingassistant@cascadestucson.com", "Accounting assistant desk"), + ("boadmin@cascadestucson.com", "Business Office admin"), + ("frontdesk@cascadestucson.com", "Main front desk (Tower)"), + ("memcarereceptionist@cascadestucson.com", "Memory Care front desk"), + ("hr@cascadestucson.com", "HR / employee matters"), + ("nurse@cascadestucson.com", "Clinical nursing desk"), + ("medtech@cascadestucson.com", "MedTech medication pass"), + ("transportation@cascadestucson.com", "Drivers / resident transport"), + ("security@cascadestucson.com", "Security / courtesy patrol"), + ("courtesypatrol@cascadestucson.com", "Courtesy Patrol (new \u2014 please confirm it\u2019s needed)"), + ("training@cascadestucson.com", "Training"), + ("sales@cascadestucson.com", "Sales inquiries"), + ("fax@cascadestucson.com", "Fax-to-email"), + ] + for addr, desc in shared_mailboxes: + add_heading(doc, f"{addr} \u2014 {desc}", level=3) + for dept, people in STAFF.items(): + add_para(doc, dept, bold=True, size=10) + for name, title, _ in people: + add_checkbox_line(doc, f"{name} \u2014 {title}", indent=0.35) + add_blank_line(doc) + + # ---- Section 7: Odds and ends ---- + doc.add_page_break() + add_heading(doc, "Section 7 \u2014 Specific Questions", level=1) + + add_heading(doc, "7a. Departments that may need a re-label", level=2) + add_para(doc, "Please mark the correct department for each:") + add_checkbox_line(doc, "Britney Thompson \u2014 currently \"Care, Assisted Living,\" title says Memory Care Nurse. Correct department is:", indent=0.35) + add_notes_line(doc, " ") + add_checkbox_line(doc, "Matt Brooks \u2014 HR record says Maintenance, title says Memory Care Receptionist. Correct department is:", indent=0.35) + add_notes_line(doc, " ") + add_checkbox_line(doc, "Christine Nyanzunda \u2014 Memory Care Admin Assistant AND appears on caregiver shift list (Sun/Mon AM). One account or two?", indent=0.35) + add_notes_line(doc, " ") + + add_blank_line(doc) + add_heading(doc, "7b. Spelling confirmations (caregivers)", level=2) + for name, reason in [ + ("Polett Pinazavala", "unusual spelling"), + ("Patricia Sandoval-Beck", "hyphenated last name"), + ("Ederick Yuzon", "unusual spelling"), + ("Paty Doran", "Paty / Patti / Patricia"), + ("Maia Baker", "only on secondary sheet \u2014 still employed?"), + ("Kyla Quick Tiffany", "three names or hyphenated?"), + ]: + add_checkbox_line(doc, f"{name} \u2014 {reason} Correct spelling: ________________________", indent=0.35) + + add_blank_line(doc) + add_heading(doc, "7c. Departures / upcoming changes", level=2) + add_para(doc, "Anyone leaving, transferring, or changing role in the next 90 days?", italic=True, size=10) + for _ in range(5): + add_notes_line(doc, "") + + # ---- Section 8: Free text ---- + doc.add_page_break() + add_heading(doc, "Section 8 \u2014 Anything Else", level=1) + add_para( + doc, + "Anything we should know about a specific person or situation? Unusual access needs, " + "contractors, people who share a phone / PC, dual-role employees, anyone who handles " + "legal or compliance records, etc. Write freely below.", + italic=True, + size=10, + color=RGBColor(0x50, 0x50, 0x50), + ) + add_blank_line(doc) + for _ in range(20): + p = doc.add_paragraph() + p.paragraph_format.space_after = Pt(2) + r = p.add_run("_" * 100) + r.font.color.rgb = RGBColor(0xCC, 0xCC, 0xCC) + + # ---- Closing ---- + doc.add_page_break() + add_heading(doc, "Thank you", level=1) + add_para( + doc, + f"{recipient_name.split()[0]} \u2014 thank you for taking the time on this. Once I have " + "your answers (and Meredith\u2019s and Ashley\u2019s / John\u2019s), I will merge the " + "three responses into one final list and come back with the exact license count, the " + "exact accounts we are creating, and the exact Conditional Access rules before I change " + "anything in your tenant. Nothing gets purchased or changed until you\u2019ve seen the " + "final plan.", + ) + add_para( + doc, + "Easiest way to return this: save and email back to howard@azcomputerguru.com. " + "You can also drop a copy on our shared OneDrive or Teams folder and I\u2019ll pick it up.", + italic=True, + size=10, + color=RGBColor(0x50, 0x50, 0x50), + ) + add_para( + doc, + "\u2014 Howard", + bold=True, + ) + + return doc + + +# ----------------------------------------------------------------------------- +# Generate files +# ----------------------------------------------------------------------------- +if __name__ == "__main__": + for name, title in RECIPIENTS: + doc = build_doc(name, title) + first = name.split()[0] + filename = OUT_DIR / f"cascades-user-access-questionnaire-{first}.docx" + doc.save(str(filename)) + print(f"[OK] {filename}") + print(f"\nAll files written to: {OUT_DIR}") diff --git a/clients/cascades-tucson/scripts/prep-profile-for-redirection.ps1 b/clients/cascades-tucson/scripts/prep-profile-for-redirection.ps1 new file mode 100644 index 0000000..9f908e7 --- /dev/null +++ b/clients/cascades-tucson/scripts/prep-profile-for-redirection.ps1 @@ -0,0 +1,152 @@ +# Offline NTUSER.DAT prep for a ProfWiz-migrated Cascades user who is about +# to log in for the first time since the Folder Redirection GPO was fixed. +# +# Combines two fixes that otherwise would require separate post-logon cleanup: +# +# 1. UNPOISON — any User Shell Folders values pointing at +# C:\Windows\system32\config\systemprofile\... (a ProfWiz side effect) +# get reset to %USERPROFILE% defaults so the Folder Redirection CSE +# doesn't hang trying to access SYSTEM's profile. +# +# 2. PRE-SEED UNC TARGETS — the legacy name (Personal) AND the modern +# KnownFolder GUID forms for Documents and Downloads get set to the +# UNC redirect path in advance, so the Explorer sidebar resolves +# correctly on first login (no more "this file has no associated app" +# post-login patch like we needed for Sharon Edwards). +# +# WHEN TO USE +# Run BEFORE the user's first login after the Folder Redirection GPO has +# been linked to their OU. Requires the user to be logged OFF so +# NTUSER.DAT can be loaded as a hive. +# +# HOW TO RUN +# ScreenConnect Backstage PowerShell (runs as SYSTEM) is the reliable path. +# Example for Susan Hicks on DESKTOP-ROK7VNM: +# +# .\prep-profile-for-redirection.ps1 ` +# -ProfilePath 'C:\Users\Susan.Hicks' ` +# -RedirectionRoot '\\CS-SERVER\homes' ` +# -SamName 'Susan.Hicks' +# +# SAFETY +# - Idempotent: running twice is a no-op. Re-runs only log [KEEP]. +# - Never touches Desktop, Music, Pictures, Video, Favorites UNC paths +# (only resets them to %USERPROFILE% defaults IF they're poisoned). +# - Timestamped NTUSER.DAT backup at C:\ProfileBackups\ before any write. +# +# ROLLBACK +# Copy-Item -Force (while user logged off) + +[CmdletBinding()] +param( + [Parameter(Mandatory = $true)] + [string]$ProfilePath, # e.g. 'C:\Users\Susan.Hicks' + + [Parameter(Mandatory = $true)] + [string]$RedirectionRoot, # e.g. '\\CS-SERVER\homes' + + [Parameter(Mandatory = $true)] + [string]$SamName, # e.g. 'Susan.Hicks' + + [string]$BackupDir = 'C:\ProfileBackups', + [string]$TempHiveName = 'ProfileFix' +) + +$ErrorActionPreference = 'Stop' + +$ntuser = Join-Path $ProfilePath 'NTUSER.DAT' +if (-not (Test-Path $ntuser)) { throw "NTUSER.DAT not found at $ntuser" } + +# Target UNC paths +$uncBase = "$RedirectionRoot\$SamName" +$docsUNC = "$uncBase\Documents" +$dlUNC = "$uncBase\Downloads" + +# Backup +New-Item -ItemType Directory -Path $BackupDir -Force | Out-Null +$stamp = Get-Date -Format 'yyyyMMdd-HHmmss' +$leaf = Split-Path $ProfilePath -Leaf +$backup = Join-Path $BackupDir "$leaf-NTUSER.DAT.$stamp.bak" +Copy-Item $ntuser $backup -Force +Write-Host "[OK] Backup -> $backup" + +# Unload stale mount if any, then load hive +if (Test-Path "Registry::HKEY_USERS\$TempHiveName") { + reg unload "HKU\$TempHiveName" 2>&1 | Out-Null + Start-Sleep 1 +} +$loadResult = reg load "HKU\$TempHiveName" $ntuser 2>&1 +if ($LASTEXITCODE -ne 0) { throw "reg load failed: $loadResult" } +Write-Host "[OK] Hive loaded at HKU\$TempHiveName" + +try { + $USF = "Registry::HKEY_USERS\$TempHiveName\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" + $SF = "Registry::HKEY_USERS\$TempHiveName\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" + + # --- Part 1: pre-seed UNC targets (legacy + GUID form, both hives) --- + $targets = [ordered]@{ + 'Personal' = $docsUNC # legacy name for Documents + '{FDD39AD0-238F-46AF-ADB4-6C85480369C7}' = $docsUNC # modern Documents KF GUID + '{374DE290-123F-4565-9164-39C4925E467B}' = $dlUNC # modern Downloads KF GUID + } + + Write-Host "`n--- Pre-seeding redirect targets ---" + foreach ($name in $targets.Keys) { + $new = $targets[$name] + $current = (Get-ItemProperty -Path $USF -Name $name -ErrorAction SilentlyContinue).$name + + if ($current -eq $new) { + Write-Host " [KEEP] $name = '$current' (already correct)" + } elseif ($null -eq $current) { + New-ItemProperty -Path $USF -Name $name -Value $new -PropertyType ExpandString -Force | Out-Null + Write-Host " [ADDED] $name = $new" + } else { + Set-ItemProperty -Path $USF -Name $name -Value $new -Type ExpandString + Write-Host " [CHANGED] $name : '$current' -> '$new'" + } + + # Mirror into Shell Folders (REG_SZ, resolved path) + New-ItemProperty -Path $SF -Name $name -Value $new -PropertyType String -Force -ErrorAction SilentlyContinue | Out-Null + } + + # Legacy "My Documents" entry some older apps read + New-ItemProperty -Path $SF -Name 'My Documents' -Value $docsUNC -PropertyType String -Force -ErrorAction SilentlyContinue | Out-Null + + # --- Part 2: unpoison anything still pointing at systemprofile --- + $unpoison = [ordered]@{ + 'My Music' = '%USERPROFILE%\Music' + 'My Pictures' = '%USERPROFILE%\Pictures' + 'My Video' = '%USERPROFILE%\Videos' + 'Favorites' = '%USERPROFILE%\Favorites' + } + $poisonPrefix = 'C:\Windows\system32\config\systemprofile' + + Write-Host "`n--- Unpoisoning non-redirected shell folders ---" + foreach ($name in $unpoison.Keys) { + $new = $unpoison[$name] + $current = (Get-ItemProperty -Path $USF -Name $name -ErrorAction SilentlyContinue).$name + + if ($null -eq $current) { + New-ItemProperty -Path $USF -Name $name -Value $new -PropertyType ExpandString -Force | Out-Null + Write-Host " [ADDED] $name = $new" + } elseif ($current -like "$poisonPrefix*") { + Set-ItemProperty -Path $USF -Name $name -Value $new -Type ExpandString + Write-Host " [CHANGED] $name : '$current' -> '$new' (was poisoned)" + } else { + Write-Host " [KEEP] $name = '$current' (not poisoned)" + } + } +} finally { + # Release any handles so the hive can unload cleanly + [gc]::Collect() + Start-Sleep 2 + reg unload "HKU\$TempHiveName" 2>&1 | Out-Null + Write-Host "[OK] Hive unloaded" +} + +Write-Host "`nBackup: $backup" +Write-Host "Rollback: Copy-Item '$backup' '$ntuser' -Force (while user logged off)" +Write-Host "" +Write-Host "Next step: have the user sign in. The Folder Redirection CSE will apply the" +Write-Host "GPO (no hang because hive is clean) and the sidebar will resolve correctly" +Write-Host "because the GUID-form shell folders already point at the UNC target."