# Kittle Design & Construction — P2 Security Scan
**Date:** 2026-07-02 (UTC) | **Tenant:** kittlearizona.com (3d073ebe-806a-4a5e-9035-3c7c4a264fc0)
**Requested by:** Mike (via Discord) | **Executed by:** ClaudeTools Discord Bot
**Scope:** Identity Protection (Entra ID P2) data + 30-day tenant sweep, read-only, investigator tier

## Identity Protection (P2)
- **Risk detections (30d):** NONE
- **Risky users:** 5 accounts with prior risk history, ALL currently `riskLevel=none / riskState=remediated`:
  - wrex@ (remediated 2026-06-08), Ken@ (2026-06-09), Marco@ (2026-06-15), alexis@ (2026-04-24), scott@ (2025-07-18)
- No active risky sign-ins.

## Sign-in activity (30d)
- **Ken@kittlearizona.com: 140 failed foreign sign-in attempts** from 140 unique IPs (AU, DE, GB), 2026-06-11 → 2026-06-18. Pattern = distributed password spray. **All failed; zero successful non-US sign-ins tenant-wide.** CA non-US block is holding.
- No other accounts targeted from abroad.

## Conditional Access (all enabled)
- ACG - Require MFA for all users
- ACG - Block legacy authentication
- ACG - Block non-US sign-ins
- ACG - Block known attacker IPs
- Note: no risk-BASED CA policy exists — P2 risk signals are informational only, not enforced.

## MFA registration
- All 15 internal users MFA-registered and capable.
- Weakest methods: admin@ and scott@ are SMS-only (mobilePhone); sysadmin@ includes email as a method. Recommend Authenticator app or passkey for these.
- Several users already on passkeys (Accounting, Hayden, Joshua, Neal). Good posture.

## Items needing human review
1. **Guest invite created TODAY 2026-07-02 17:02 UTC** by Accounting@ for external user `darlenecabrera87@gmail.com` — verify this was intentional.
2. Ken@ remains a spray target (also had prior incident — see vault clients/kittle/m365-ken-schagel-incident). Consider risk-based CA or passkey for Ken.
3. admin@/scott@ SMS-only MFA.
4. Consider a report-only risk-based CA policy to actually use the P2 licensing they pay for.

## Related changes same session
- License moves: wrex@ BP removed (disabled acct); alexis@ + Ken@ moved E3 -> Business Premium. BP now 12/12. Josh.B@ + Tyrele@ still on lapsed E3 (0 purchased / 2 consumed).

Raw JSON: /tmp/remediation-tool/3d073ebe-806a-4a5e-9035-3c7c4a264fc0/sweep/ (BEAST)

## Addendum — CA hardening deployed (report-only), 2026-07-02
Four new policies created via tenant-admin tier, all `enabledForReportingButNotEnforced`,
all excluding break-glass sysadmin@ (6139d1af-eee3-4e0b-b240-21e4827df756):
1. ACG - Block device code flow and auth transfer — 61e11a6b-9005-479b-a402-636e5efc8b28
2. ACG - Admins: 12h sign-in frequency, no persistent sessions — 954bee7c-0440-4f5e-bce0-fefd9752cad1
3. ACG - Block guest access to admin portals — 69a24225-132c-45df-8438-cf36ab862eb6
4. ACG - Require MFA to register security info — 70db3c98-bf29-413b-a8df-c58f538246e7

Next: review report-only impact in sign-in logs after ~5-7 days; flip to enabled only
with explicit confirmation from Mike.
