Commit Graph

429 Commits

Author SHA1 Message Date
e2b8fcee21 feat: add Bitdefender GravityZone integration module
Adds full GravityZone API integration to ClaudeTools. Key additions:

- api/services/gravityzone_service.py: JSON-RPC client with Basic auth,
  methods for company/endpoint/quarantine/licensing data, and security_sweep
  which paginates all endpoints, enriches with malware/agent status, and
  sorts infected > outdated > clean
- api/schemas/gravityzone.py: Pydantic response models for all endpoints
- api/routers/gravityzone.py: 7 REST endpoints at /api/gravityzone/*,
  JWT-protected, returns 502 on downstream GZ errors
- api/config.py: GRAVITYZONE_API_KEY + GRAVITYZONE_API_BASE_URL settings
- api/main.py: router registered under /api/gravityzone

Vault entry: msp-tools/gravityzone.sops.yaml (partner-level key, 14 modules)
Server .env updated, ticktick router synced, service restarted and verified.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 07:13:16 -07:00
6e2d99bd23 sync: auto-sync from HOWARD-HOME at 2026-04-23 21:12:42
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-04-23 21:12:42
2026-04-23 21:12:43 -07:00
6ec260c023 cascades: LE folder redirection end-to-end + share access review doc
Major work from 2026-04-23:

Folder redirection (OU=Life Enrichment):
- Added 5 folders (Desktop, Pictures, Music, Videos, Favorites) to CSC - Folder
  Redirection (LE) alongside existing Documents + Downloads. All use Flags=1021
  (Basic + create folder per user + move contents + policy-removal: redirect back).
- Created CSC - Always Wait For Network GPO, linked at OU=Workstations. Disables
  FLO via correct Winlogon registry path (HKLM\Software\Policies\Microsoft\
  Windows NT\CurrentVersion\Winlogon\SyncForegroundPolicy=1). First attempt used
  wrong path (Windows\System) which Winlogon ignored.
- Proved GPO FR works for clean-hive users (test user LE.FRTest, now removed).
- Wrote susan-profile-fix.ps1 to repair ProfWiz-poisoned profiles: robocopies
  local content to \CS-SERVER\homes\<user>, loads NTUSER.DAT, rewrites User
  Shell Folders (legacy + modern GUIDs) to UNC, unloads. Applied to Susan Hicks,
  verified via live SMB session + content access.

Share access review doc:
- share-access-matrix-2026-04-23.md drafted for John/Meredith review. One
  short block per employee (department + position + folders they can access).
  All settled decisions from today's calls captured (Sandra Fish = Meredith-
  only, Culinary = kitchen + M/J/A, no chat share, caregivers zero on-prem,
  Veronica = Meredith tier, CasAdmin201 retired, pacs empty).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 20:07:59 -07:00
b6d00207ff session log: Neptune outage recovery + Exchange 2019 migration plan
Post-reboot recovery phase: WS2022 upgrade (done 2026-04-22) identified
as root cause — Exchange 2016 unsupported on WS2022. Mail flow restored
at 14:32 via explicit DNS-server override on TransportServer (edgetransport
on WS2022 ignores OS suffix search). Rollback unavailable (all paths dead).

Migration planning phase: Exchange 2019 on fresh WS2022 VM picked over
2016-rebuild. Config snapshot captured to C:\NeptuneConfigExport-20260423\
(34 files, 22 config areas, 56-mailbox CSV inventory, SBR configs).
Full 6-phase migration runbook written covering prereqs, schema prep,
install+config port, mailbox moves, cutover, and carcass force-removal.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 15:17:35 -07:00
Administrator
742c25c96e session log: Neptune inbound mail outage + partial recovery (pre-reboot snapshot)
KB5082142 (Windows Server 21H2 CU) + KB5084071 (.NET Framework CU) triggered
cascading Exchange 2016 failures on NEPTUNE today. External SMTP ingest was
restored after 4 fixes (registry ACL on AssistantsQuarantine, Routing Master
DN, disabled messageconcept ExSBR, hosts entries for dead MAIL server). But
internal pipeline (Submission -> categorizer -> mailbox delivery) remained
broken until 3 more fixes (DNS records on ACG-DC16 for n-hosting1/n-largeboxes
/mail, disabled hung DkimSigner agent, disabled IRM to silence RMS Encryption
Agent timeouts). Submission queue still pinned at ~427 messages pre-reboot;
full Neptune reboot queued to clear edgetransport.exe in-memory DNS cache and
pending KB5082142 reboot actions.

All registry/AD/config backups in C:\BackupBeforeFix\ on Neptune. Post-reboot
verification checklist documented in the log.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 15:17:34 -07:00
34aad7639f sync: auto-sync from HOWARD-HOME at 2026-04-23 13:34:46
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-04-23 13:34:46
2026-04-23 13:34:48 -07:00
Administrator
1191123602 sync: Neptune Exchange session - domain cleanup, SBR routing, Mailprotector config, AD remediation
Machine: NEPTUNE
Timestamp: 2026-04-13 14:28:00

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-23 12:35:04 -07:00
Administrator
887a672e7d scc: Neptune Exchange cleanup - domain/mailbox removal, SBR routing, Mailprotector config, spam purge
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-23 12:35:04 -07:00
e5dc77cb96 sync: auto-sync from HOWARD-HOME at 2026-04-23 11:09:16
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-04-23 11:09:16
2026-04-23 11:09:18 -07:00
5ec20ac9dd session log: Dataforth SMTP fix, GuruRMM GAGETRAK onboarding, Cloudflare grey-cloud, ticket #32142 billed
- Resolved calibration@dataforth.com SMTP AUTH per-mailbox block in Exchange Online
- Full Dataforth tenant onboarding (all 5 ComputerGuru apps consented)
- GuruRMM agent deployed on DF-GAGETRAK; diagnosed and fixed two issues:
  - rmm-api.azcomputerguru.com grey-clouded (Cloudflare was blocking WSS)
  - enrolled_agents auth gap workaround (site API key in AgentKey registry)
- Syncro ticket #32142 billed: 2 hrs prepaid, invoice #67447, status Invoiced
- syncro.md: fix .comment.id jq path (was .id, caused duplicate comments twice)
- tenants.md: Dataforth marked fully onboarded

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 09:20:00 -07:00
8613d57f6f cascades: master plan + open questions doc (2026-04-23)
Single-doc consolidation of every Cascades doc in the repo: where we are
(what's done, in-flight, ahead), all 48 open questions grouped by recipient
(Meredith, John, Ashley, internal) with T1/T2/T3 urgency, suggested 4-session
sequencing to unblock most work fastest, license/cost summary, and the
5 items Howard can execute right now without answers.

Replaces the piecemeal view across user-account-rollout-plan,
p2-staff-candidates, staff-working-list, hipaa-review, and risk-register docs.
Those remain the detail source; this is the navigation layer.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 06:44:28 -07:00
7e2e3a5882 sync: auto-sync from HOWARD-HOME at 2026-04-23 06:21:23
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-04-23 06:21:23
2026-04-23 06:21:24 -07:00
abfb0a18b0 cascades: M365 orphan/stale user cleanup (pre-Entra Connect)
Deleted 7 former-employee / zombie accounts via Graph user-manager tier.
All verified in soft-delete bin (30-day recovery):

- ann.dery, anna.pitzlin, jeff.bristol, kristiana.dowse, nela.durut-azizi,
  nick.pavloff (all were disabled already)
- jodi.ramstack (was a zombie: enabled in M365 with 1 Business Standard
  license but deleted from AD 2026-04-13. Freed $12.50/mo seat.)

admin@NETORGFT... (Sandra Fish) confirmed already gone from tenant.

Role-based accounts (accounting@, frontdesk@, hr@, etc.) NOT touched —
pending delegation decisions before shared-mailbox conversion. Stephanie.Devin
left alone pending Meredith confirmation.

Report: reports/2026-04-22-m365-orphan-deletes.md
Docs updated: docs/cloud/m365.md

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 22:10:49 -07:00
5c6f7dca5e sync: auto-sync from HOWARD-HOME at 2026-04-22 21:40:31
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-04-22 21:40:31
2026-04-22 21:40:33 -07:00
2b13299657 syncro: add hard rules block for POST idempotency and preview enforcement
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 20:37:37 -07:00
0be47f23ef session log: westerntire.com email migration to IX — Mailprotector, DNS, .htaccess, user guide
- Full cpmove transfer verified (62GB, mailboxes, public_html)
- Mailprotector configured on IX (exim.conf.local, DKIM via dsearch, skipsmtpcheckhosts)
- DNS zone updated: A record to IX (72.194.62.5), TTLs lowered to 300s, zone backed up
- .htaccess redirect to jackfurriers.com added to IX public_html
- Delivery server updated in Mailprotector admin, inbound confirmed live
- HTML setup guide created and sent to 23 real user accounts
- Syncro ticket #32199 created (no billing yet)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 20:35:42 -07:00
1534a2f9a0 sync: auto-sync from HOWARD-HOME at 2026-04-22 19:47:23
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-04-22 19:47:23
2026-04-22 19:47:24 -07:00
af4ad0aea3 cascades: CS-SERVER preflight verified + Synology discovery complete
CS-SERVER post-reboot verification: time sync, TLS 1.2 enforcement, and
Windows Server Backup feature all persisted cleanly. dcdiag clean. Ready
for Entra Connect install.

Synology cascadesDS permission inventory captured via DSM API (SSH
disabled by default on Synology). 35 users, 4 groups, 10 shares.
Analysis identifies 7 shared-account role logins (HIPAA violation),
8 departed-employee accounts to clean up, and 4 shares needing
Meredith-side confirmation before migration (pacs most sensitive).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 18:59:38 -07:00
6bd416657c sync: auto-sync from HOWARD-HOME at 2026-04-22 17:39:56
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-04-22 17:39:56
2026-04-22 17:39:57 -07:00
90d4f386aa sync: auto-sync from HOWARD-HOME at 2026-04-22 16:38:05
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-04-22 16:38:05
2026-04-22 16:38:06 -07:00
7bffbfbb89 sync: auto-sync from HOWARD-HOME at 2026-04-22 16:24:58
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-04-22 16:24:58
2026-04-22 16:24:58 -07:00
ce52a62ff1 sync: auto-sync from HOWARD-HOME at 2026-04-22 15:41:54
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-04-22 15:41:54
2026-04-22 15:41:55 -07:00
e0a120b74e sync: auto-sync from HOWARD-HOME at 2026-04-22 15:36:21
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-04-22 15:36:21
2026-04-22 15:36:22 -07:00
c077d58372 cascades: ingest staff CSV + AD/M365 user rollout plan
Meredith/John returned the staff-editor questionnaire (70 people, 11
departments). CSV ingested to reports/; p2-staff-candidates.md updated
with real persona breakdown. Wrote full AD/M365 user rollout plan (8
personas, license mapping, OU/group layout, CA policies, 4-wave
sequence, 8 open decisions). Drafted follow-up email for remaining open
items — Howard will edit and send.

Britney Thompson and Polett Pinazavala confirmed still employed (were
absent from the CSV return). Christine Nyanzunda confirmed as one
person with two roles. Usernames locked for new accounts:
Alma.Montt, Kyla.QuickTiffany.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 15:09:39 -07:00
223dc861c2 docs(cascades): track Teams HIPAA rollout as new gap
Added Teams deployment + HIPAA-appropriate configuration as a tracked
gap (hipaa.md #27) and M365 issue (m365.md #14). Cites transmission
security + BAA requirements and outlines controls needed (retention,
DLP, external sharing lockdown, guest access, meeting consent).
Dependency on Microsoft BAA flagged.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 14:16:02 -07:00
96ad4b7059 messages: flag Intune Manager app audience bug to Mike
Intune Manager (46986910-...) registered as AzureADMyOrg instead of
AzureADMultipleOrgs, blocking consent in any external tenant. Includes
evidence, PATCH command, and portal steps. Blocks Cascades MDM Phase B.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 14:06:22 -07:00
d5db062136 sync: auto-sync from DESKTOP-0O8A1RL at 2026-04-22 12:31:55
Author: Mike Swanson
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-04-22 12:31:55
2026-04-22 12:31:56 -07:00
db5395ebe9 sync: auto-sync from DESKTOP-0O8A1RL at 2026-04-22 12:29:06
Author: Mike Swanson
Machine: DESKTOP-0O8A1RL
Timestamp: 2026-04-22 12:29:06
2026-04-22 12:29:07 -07:00
4b2afc1a5e messages: relay Yealink password to Howard via session log 2026-04-22 12:25:33 -07:00
2ae7d6a0ac fix: dataforth API upload — unregistered model skip list, batch-500 fallback, FAIL filter
- UNREGISTERED_MODELS set: 9 model numbers not in Hoffman API catalog; skipped
  silently instead of generating errors
- batch-500 fallback: when a bulk batch returns HTTP 500, retry each record
  individually so good records get stamped and only truly-bad records count
  as errors
- FAIL-parameter filter: records with any FAIL on a parameter line are excluded
  from the push before the batch is assembled
- notify.js integration: wired in existing notification module

Files added:
- projects/dataforth-dos/database/upload-to-api.js
- projects/dataforth-dos/database/notify.js

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 12:25:33 -07:00
dcc852b12d sync: auto-sync from HOWARD-HOME at 2026-04-22 11:48:29
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-04-22 11:48:29
2026-04-22 11:48:29 -07:00
d39fef2a23 sync: auto-sync from HOWARD-HOME at 2026-04-22 11:22:39
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-04-22 11:22:39
2026-04-22 11:22:39 -07:00
af60f8231f save: Valleywide emergency comprehensive session log - switching to laptop
Comprehensive emergency response documentation:
- Complete timeline from 0935 arrival to 1115 handoff
- All 4 servers documented with current status
- HP ProLiant: NVRAM resolved, iLO pending
- Dell VWP-QBS: Boot issue resolved
- XenServer: OFFLINE (CRITICAL - Server3 VM down)
- 4th server: Appears fine

Work status:
- Timer running (~1h40m so far)
- Switching to laptop to continue
- XenServer restoration is highest priority

Created comprehensive session log:
- session-logs/2026-04-22-valleywide-power-outage-emergency-response.md
- Complete status, timeline, next steps, recommendations
- Ready for laptop continuation

All changes synced to Gitea for seamless handoff.

Machine: Mikes-MacBook-Air.local
Timestamp: 2026-04-22 11:05:39

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-04-22 11:05:39 -07:00
b7752d3d7f docs: Valleywide XenServer OFFLINE - critical investigation
Updated emergency session log with XenServer offline status:
- XenServer (older Dell) offline - investigating
- Server3 VM unavailable
- Added to critical next steps

Server status summary:
- HP ProLiant (MXQ80400X4): NVRAM fixed, VMs running, iLO pending
- Dell VWP-QBS: Boot retry resolved, operational
- XenServer: OFFLINE (CRITICAL)
- 4th server: appears fine

Power outage impact assessment ongoing.
Timer running.

Machine: Mikes-MacBook-Air.local
Timestamp: 2026-04-22 10:23:23

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-04-22 10:23:23 -07:00
a186551ce3 docs: Valleywide HP server NVRAM corruption emergency (ONGOING)
Emergency onsite work documentation:
- Arrival 0935 MST - HP ProLiant SN MXQ80400X4
- Non-volatile memory corruption from power outage
- BIOS/UEFI factory reset required and reconfigured
- iLO reset to factory (needs reconfiguration)
- All VMs confirmed running
- Work in progress - timer running

Updated:
- clients/valleywide/README.md: Added HP server, iLO reset warning, priority items
- clients/valleywide/session-logs/2026-04-22-hp-server-nvram-corruption-emergency.md: Created

Next: iLO reconfiguration, UPS assessment

Machine: Mikes-MacBook-Air.local
Timestamp: 2026-04-22 10:11:39

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-04-22 10:11:49 -07:00
e2028fe6f8 session log: Intune enrollment check, sync/Howard messages, Cloudflare DNS toggle, profile migration fixes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 05:38:27 -07:00
c32a4101e6 messages: reply to Howard re vault pull + syncro rates
- intune-manager SOPS file is present; Howard needs to pull vault (2 commits behind)
- Directed Howard to check Syncro for current labor rates
- Cleared addressed items from for-mike.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 05:31:32 -07:00
a5dfdbc75c sync: auto-sync from HOWARD-HOME at 2026-04-21 21:39:06
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-04-21 21:39:06
2026-04-21 21:39:45 -07:00
e644ca8526 docs: message Howard about new intune-manager remediation tier
Added detailed message about the new intune-manager tier:
- 7th remediation-tool tier with full Intune Graph API access
- Device management, compliance, apps, privileged operations
- Vault file already synced to all machines
- Use cases: Intune setup, iPad enrollment, MDM certs

Machine: Mikes-MacBook-Air.local
Timestamp: 2026-04-21 20:38:58

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-04-21 20:38:58 -07:00
786049b115 docs: remove hardcoded labor rates from syncro.md; message Howard re rates + vault fix
Syncro auto-calculates price from the product's configured rate — omit price_retail.
Cleared Howard's messages from for-mike.md (both items addressed).
Left reply for Howard in for-howard.md confirming fix is live.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 20:25:48 -07:00
386a115039 fix: vault.sh wrapper MSYS path bug on Windows Git Bash
Python open() can't read MSYS-style paths (/c/claudetools/...).
Fix: try jq first (handles Unix paths cleanly on all platforms),
fall back to Python with cygpath -m conversion to mixed Windows paths.

Matches the same fix already applied to get-token.sh.
Bug reported by Howard (HOWARD-HOME, 2026-04-21).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 20:21:27 -07:00
54fa7a3f4f sync: auto-sync from HOWARD-HOME at 2026-04-21 20:19:43
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-04-21 20:19:43
2026-04-21 20:20:07 -07:00
30dbd39fee chore: clear addressed message from Howard (vault confirmed working) 2026-04-21 20:15:27 -07:00
7a377d882d sync: auto-sync from HOWARD-HOME at 2026-04-21 20:07:29
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-04-21 20:07:29
2026-04-21 20:07:32 -07:00
741b259760 feat: add intune-manager tier to get-token.sh 2026-04-21 20:02:19 -07:00
a771d4ed11 Session log: Mac vault setup + remediation-tool validation
Complete vault and SOPS setup on Mac from scratch. Fixed critical
get-token.sh bugs (variable collision + directory depth), validated
vault sync from Windows, tested all 5 tiers.

Key accomplishments:
- Installed SOPS 3.12.2 + age 1.3.1 via Homebrew
- Configured age private key and SOPS environment
- Cloned vault repository with 6 SOPS files
- Fixed vault.sh line endings (CRLF → LF)
- Token acquisition working: 4/5 tiers (defender not consented)
- Created comprehensive VAULT-SETUP-GUIDE.md (522 lines)
- Removed guru-rmm submodule auto-update from sync script

Remediation-tool now portable across Mac/Windows. Ready for Howard setup.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-04-21 19:54:25 -07:00
b3f51aad0f docs: comprehensive vault setup guide for all machines
Complete reference for setting up vault access on Mac/Windows/Linux.
Covers all issues encountered during Mac setup:
- Line ending fixes (CRLF → LF)
- SOPS_AGE_KEY_FILE environment configuration
- Age key installation and permissions
- Common errors and solutions

Includes quick setup for Howard's machines (ACG-Tech03L, HOWARD-HOME).

Successfully validated on Mikes-MacBook-Air - all 4 tiers working.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-04-21 19:48:59 -07:00
3f94aefa57 ops: vault + age key setup instructions for Howard and Mac 2026-04-21 19:38:15 -07:00
6125ba15d9 docs: Mac vault readiness test results
Tested vault access capability on Mac. Found multiple blockers:
- SOPS not installed
- age not installed
- age key not configured
- vault repo not cloned (git auth blocked)

Documents what would be required vs. recommendation to skip Mac setup.

Windows already validated - all 5 tiers working.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-04-21 19:34:56 -07:00
a5b87e324d cleanup: remove vault test checklist (all 5 tiers validated on DESKTOP-0O8A1RL) 2026-04-21 19:32:16 -07:00