Appearance
Phase 1 — Credential Audit
Date: 2026-06-04
Status: COMPLETE
Summary
| Account | Status | Location | Type |
|---|---|---|---|
| michael.asolo1@gmail.com | ✓ Found | mail_imap_credential.json | IMAP app-password |
| n.nnamah@outlook.com | ✗ MISSING | unknown | — |
| michael.nnamah@outlook.com | ✗ MISSING | unknown | — |
| michael.asolo@hotmail.co.uk | ✗ MISSING | unknown | — |
| Outlook Graph API | ✓ Found | outlook-graph-credentials.json | OAuth (Mail.Read, Mail.ReadWrite) |
Findings
Gmail: ✓ IMAP credential present (managed by Itachi — CT103 Vaultwarden)
Outlook accounts (3): ✗ MISSING from mail_imap_credential.json
- Possible locations:
- Keychain (macOS) — likely for Graph API tokens
- Separate credential file — not found
- VPS credentials store — possible
Graph API: ✓ App registration found (outlook-graph-credentials.json)
- client_id:
1f369c04-4a43-46c7-8b7c-a81166f7066c - Scopes: Mail.Read, Mail.ReadWrite, offline_access
- Status: Registered 2026-06-04, no tokens stored (stored in Keychain/vaultwarden)
Action Required
For Phase 1 completion: Generate IMAP app-passwords for 3 Outlook accounts:
- n.nnamah@outlook.com → generate app-password
- michael.nnamah@outlook.com → generate app-password
- michael.asolo@hotmail.co.uk → generate app-password
Add to mail_imap_credential.json once obtained.
Temporary until Bitwarden (#840058): Plaintext credentials on Z2 (0600 perms)
Permanent: Once Bitwarden live, rotate credentials → vault, delete plaintext files
Next Steps
- [ ] Locate/generate Outlook IMAP app-passwords (Michael action)
- [ ] Consolidate to single mail_imap_credential.json (4 accounts)
- [ ] Proceed with Phase 1 state-export + archive-manifest