Skip to content

Releases: joemanis/ai-offboard

ai-offboard v0.4.5

Choose a tag to compare

@joemanis joemanis released this 19 Aug 02:23
f54d8a9

Changelog

0.4.2 (2026-08-18)

Noninteractive audit reliability patch.

Fixed

  • audit --json and audit --bundle now fail fast when the cached Microsoft
    login is missing or expired instead of blocking on a device-code prompt.
  • Authentication failures are rendered as concise CLI errors instead of Rich
    tracebacks or invalid JSON output.

0.4.1 (2026-08-18)

Live-scan reliability patch.

Fixed

  • Resolve catalog-matched AI app assignments and application permissions through
    a bounded six-worker pool instead of serial 30-second Graph calls.
  • Preserve explicit not assessed coverage when any assignment lookup returns
    HTTP 403.

0.4.0 (2026-08-18)

Audit evidence portability for MSP and insurance/compliance workflows.

Added

  • offboard audit --bundle <path> creates a self-contained evidence ZIP.
  • Bundles include the Markdown and HTML reports, full machine-readable snapshot,
    findings JSON/CSV, coverage metadata, a manifest, and SHA-256 checksums.
  • Bundle manifests record the package version, tenant, scan counts, and
    confidentiality handling warning.
  • JSON stdout remains clean when bundle creation is combined with --json.

Changed

  • README now documents the evidence-bundle workflow and handling requirements.

0.3.0 (2026-08-17)

Trustworthy Entra inventory and safer operator workflows.

Added

  • Real Graph appRoleAssignedTo discovery for catalog-matched AI applications, including assigned principal and role attribution.
  • Enterprise-app inventory counts are separated from actual app-role assignments.
  • Delegated OAuth grants and application permissions now include client/resource names, consent type, and grant type where Graph provides them.
  • MFA registration coverage states and explicit NOT_ASSESSED policy results when reports telemetry is unavailable.
  • Remote web mode with explicit host opt-in, operator token, SameSite session cookie, cross-origin state-change protection, and POST-only logout.
  • MSP guard preventing audit --all from reusing an interactive device-code session across tenants.
  • Graph payload contract tests and a cross-platform built-wheel smoke-test matrix.

Changed

  • R4 no longer treats every Entra service principal as a high-privilege assignment.
  • R5 findings use readable app/resource attribution and deduplicate identical grants.
  • Reports expose data-coverage and app-role-assignment counts instead of overstating inventory.

0.2.0 (2026-08-15)

Zero Trust policy engine, gated remediation, MSP multi-tenant mode, Google Workspace. Full v1 → v3 roadmap delivered.

Added

  • Zero Trust policy engine (v3): declarative YAML policies evaluated against the scan inventory — offboard policy list / policy check (exit 0 = PASS, 2 = FAIL). Five bundled policies (ZT-001..ZT-005) including the default-deny approved-app allowlist. Named checks only — policy files can never execute code.
  • offboard execute (v2): applies remediation (block sign-in, revoke tokens, remove app assignment) behind an explicit approval gate; every mutation logged to a local audit table.
  • Google Workspace connector: reads users + OAuth-connected AI apps via Admin SDK Directory API (offboard audit --workspace); R5 scope normalization covers Google OAuth URLs. Full setup guide in docs/connectors.md.
  • Scheduled recurring audits: offboard schedule add/remove/list/run-due (daily/weekly/monthly) with SMTP report delivery.
  • Multi-tenant MSP mode: offboard tenant add/remove/list + offboard audit --all findings matrix.
  • Trend comparison: offboard report --compare diffs the last two saved scans.
  • CSV export: offboard audit --csv.
  • AI-app catalog expanded 5 → 41 real tools with DLP tiers; specificity-aware matcher (longest match wins).
  • Web UI: scan progress in CLI, pre-seeded sample report on first load, findings severity filter, Zero Trust policy compliance view.
  • PyPI publication: pip install "ai-offboard[web]".

Changed

  • Connector layer refactored around a Connector interface + auth providers (device code / client credentials); build_connector auto-detects.
  • Device-code auth replaces App Registration as the recommended path — no tenant ID or client secret needed.

0.1.0 (2026-08-13)

Initial release — read-only Microsoft 365 AI tool audit and offboarding report tool.

Added

  • Connector: Microsoft Entra ID (Graph) read-only scanner via MSAL client credentials.
  • Mock connector: deterministic demo snapshot — offboard audit --mock works with zero Azure setup.
  • AI-app catalog (JSON) with DLP-risk tiers; substring matcher for fast community contributions.
  • Risk rules: R1 stale/unused accounts, R2 MFA gap, R4 high-privilege app.
  • Dry-run revocation planner — typed revoke steps, provably executes nothing.
  • Audit report — Markdown + HTML output with findings table and remediation steps.
  • JSON outputoffboard audit --json for machine consumption.
  • CLI: audit (--report, --mock, --json), plan (--mock), setup (interactive wizard), doctor (pre-flight checks), web (local UI), --version.
  • Setup wizard (offboard setup) — one-time interactive connector configuration that writes .env.
  • Local web UI (offboard web) — FastAPI-based dashboard with scan results, drill-down, and report download.
  • Pre-flight doctor (offboard doctor) — validates .env, config completeness, and auth connectivity.
  • README with full usage, screenshots, and quick-start.
  • Docs: docs/connectors.md (Entra App Registration guide), SPEC.md (build spec), examples/ (sample reports + screenshots).
  • CI: GitHub Actions (ruff + pytest on push/PR).
  • Security posture: read-only by design (v1), SECURITY.md, Apache-2.0 license.

ai-offboard v0.4.4

Choose a tag to compare

@joemanis joemanis released this 19 Aug 00:59
3b8f22c

Changelog

0.4.2 (2026-08-18)

Noninteractive audit reliability patch.

Fixed

  • audit --json and audit --bundle now fail fast when the cached Microsoft
    login is missing or expired instead of blocking on a device-code prompt.
  • Authentication failures are rendered as concise CLI errors instead of Rich
    tracebacks or invalid JSON output.

0.4.1 (2026-08-18)

Live-scan reliability patch.

Fixed

  • Resolve catalog-matched AI app assignments and application permissions through
    a bounded six-worker pool instead of serial 30-second Graph calls.
  • Preserve explicit not assessed coverage when any assignment lookup returns
    HTTP 403.

0.4.0 (2026-08-18)

Audit evidence portability for MSP and insurance/compliance workflows.

Added

  • offboard audit --bundle <path> creates a self-contained evidence ZIP.
  • Bundles include the Markdown and HTML reports, full machine-readable snapshot,
    findings JSON/CSV, coverage metadata, a manifest, and SHA-256 checksums.
  • Bundle manifests record the package version, tenant, scan counts, and
    confidentiality handling warning.
  • JSON stdout remains clean when bundle creation is combined with --json.

Changed

  • README now documents the evidence-bundle workflow and handling requirements.

0.3.0 (2026-08-17)

Trustworthy Entra inventory and safer operator workflows.

Added

  • Real Graph appRoleAssignedTo discovery for catalog-matched AI applications, including assigned principal and role attribution.
  • Enterprise-app inventory counts are separated from actual app-role assignments.
  • Delegated OAuth grants and application permissions now include client/resource names, consent type, and grant type where Graph provides them.
  • MFA registration coverage states and explicit NOT_ASSESSED policy results when reports telemetry is unavailable.
  • Remote web mode with explicit host opt-in, operator token, SameSite session cookie, cross-origin state-change protection, and POST-only logout.
  • MSP guard preventing audit --all from reusing an interactive device-code session across tenants.
  • Graph payload contract tests and a cross-platform built-wheel smoke-test matrix.

Changed

  • R4 no longer treats every Entra service principal as a high-privilege assignment.
  • R5 findings use readable app/resource attribution and deduplicate identical grants.
  • Reports expose data-coverage and app-role-assignment counts instead of overstating inventory.

0.2.0 (2026-08-15)

Zero Trust policy engine, gated remediation, MSP multi-tenant mode, Google Workspace. Full v1 → v3 roadmap delivered.

Added

  • Zero Trust policy engine (v3): declarative YAML policies evaluated against the scan inventory — offboard policy list / policy check (exit 0 = PASS, 2 = FAIL). Five bundled policies (ZT-001..ZT-005) including the default-deny approved-app allowlist. Named checks only — policy files can never execute code.
  • offboard execute (v2): applies remediation (block sign-in, revoke tokens, remove app assignment) behind an explicit approval gate; every mutation logged to a local audit table.
  • Google Workspace connector: reads users + OAuth-connected AI apps via Admin SDK Directory API (offboard audit --workspace); R5 scope normalization covers Google OAuth URLs. Full setup guide in docs/connectors.md.
  • Scheduled recurring audits: offboard schedule add/remove/list/run-due (daily/weekly/monthly) with SMTP report delivery.
  • Multi-tenant MSP mode: offboard tenant add/remove/list + offboard audit --all findings matrix.
  • Trend comparison: offboard report --compare diffs the last two saved scans.
  • CSV export: offboard audit --csv.
  • AI-app catalog expanded 5 → 41 real tools with DLP tiers; specificity-aware matcher (longest match wins).
  • Web UI: scan progress in CLI, pre-seeded sample report on first load, findings severity filter, Zero Trust policy compliance view.
  • PyPI publication: pip install "ai-offboard[web]".

Changed

  • Connector layer refactored around a Connector interface + auth providers (device code / client credentials); build_connector auto-detects.
  • Device-code auth replaces App Registration as the recommended path — no tenant ID or client secret needed.

0.1.0 (2026-08-13)

Initial release — read-only Microsoft 365 AI tool audit and offboarding report tool.

Added

  • Connector: Microsoft Entra ID (Graph) read-only scanner via MSAL client credentials.
  • Mock connector: deterministic demo snapshot — offboard audit --mock works with zero Azure setup.
  • AI-app catalog (JSON) with DLP-risk tiers; substring matcher for fast community contributions.
  • Risk rules: R1 stale/unused accounts, R2 MFA gap, R4 high-privilege app.
  • Dry-run revocation planner — typed revoke steps, provably executes nothing.
  • Audit report — Markdown + HTML output with findings table and remediation steps.
  • JSON outputoffboard audit --json for machine consumption.
  • CLI: audit (--report, --mock, --json), plan (--mock), setup (interactive wizard), doctor (pre-flight checks), web (local UI), --version.
  • Setup wizard (offboard setup) — one-time interactive connector configuration that writes .env.
  • Local web UI (offboard web) — FastAPI-based dashboard with scan results, drill-down, and report download.
  • Pre-flight doctor (offboard doctor) — validates .env, config completeness, and auth connectivity.
  • README with full usage, screenshots, and quick-start.
  • Docs: docs/connectors.md (Entra App Registration guide), SPEC.md (build spec), examples/ (sample reports + screenshots).
  • CI: GitHub Actions (ruff + pytest on push/PR).
  • Security posture: read-only by design (v1), SECURITY.md, Apache-2.0 license.

ai-offboard v0.4.3

Choose a tag to compare

@joemanis joemanis released this 19 Aug 00:37
469e2b6

Changelog

0.4.2 (2026-08-18)

Noninteractive audit reliability patch.

Fixed

  • audit --json and audit --bundle now fail fast when the cached Microsoft
    login is missing or expired instead of blocking on a device-code prompt.
  • Authentication failures are rendered as concise CLI errors instead of Rich
    tracebacks or invalid JSON output.

0.4.1 (2026-08-18)

Live-scan reliability patch.

Fixed

  • Resolve catalog-matched AI app assignments and application permissions through
    a bounded six-worker pool instead of serial 30-second Graph calls.
  • Preserve explicit not assessed coverage when any assignment lookup returns
    HTTP 403.

0.4.0 (2026-08-18)

Audit evidence portability for MSP and insurance/compliance workflows.

Added

  • offboard audit --bundle <path> creates a self-contained evidence ZIP.
  • Bundles include the Markdown and HTML reports, full machine-readable snapshot,
    findings JSON/CSV, coverage metadata, a manifest, and SHA-256 checksums.
  • Bundle manifests record the package version, tenant, scan counts, and
    confidentiality handling warning.
  • JSON stdout remains clean when bundle creation is combined with --json.

Changed

  • README now documents the evidence-bundle workflow and handling requirements.

0.3.0 (2026-08-17)

Trustworthy Entra inventory and safer operator workflows.

Added

  • Real Graph appRoleAssignedTo discovery for catalog-matched AI applications, including assigned principal and role attribution.
  • Enterprise-app inventory counts are separated from actual app-role assignments.
  • Delegated OAuth grants and application permissions now include client/resource names, consent type, and grant type where Graph provides them.
  • MFA registration coverage states and explicit NOT_ASSESSED policy results when reports telemetry is unavailable.
  • Remote web mode with explicit host opt-in, operator token, SameSite session cookie, cross-origin state-change protection, and POST-only logout.
  • MSP guard preventing audit --all from reusing an interactive device-code session across tenants.
  • Graph payload contract tests and a cross-platform built-wheel smoke-test matrix.

Changed

  • R4 no longer treats every Entra service principal as a high-privilege assignment.
  • R5 findings use readable app/resource attribution and deduplicate identical grants.
  • Reports expose data-coverage and app-role-assignment counts instead of overstating inventory.

0.2.0 (2026-08-15)

Zero Trust policy engine, gated remediation, MSP multi-tenant mode, Google Workspace. Full v1 → v3 roadmap delivered.

Added

  • Zero Trust policy engine (v3): declarative YAML policies evaluated against the scan inventory — offboard policy list / policy check (exit 0 = PASS, 2 = FAIL). Five bundled policies (ZT-001..ZT-005) including the default-deny approved-app allowlist. Named checks only — policy files can never execute code.
  • offboard execute (v2): applies remediation (block sign-in, revoke tokens, remove app assignment) behind an explicit approval gate; every mutation logged to a local audit table.
  • Google Workspace connector: reads users + OAuth-connected AI apps via Admin SDK Directory API (offboard audit --workspace); R5 scope normalization covers Google OAuth URLs. Full setup guide in docs/connectors.md.
  • Scheduled recurring audits: offboard schedule add/remove/list/run-due (daily/weekly/monthly) with SMTP report delivery.
  • Multi-tenant MSP mode: offboard tenant add/remove/list + offboard audit --all findings matrix.
  • Trend comparison: offboard report --compare diffs the last two saved scans.
  • CSV export: offboard audit --csv.
  • AI-app catalog expanded 5 → 41 real tools with DLP tiers; specificity-aware matcher (longest match wins).
  • Web UI: scan progress in CLI, pre-seeded sample report on first load, findings severity filter, Zero Trust policy compliance view.
  • PyPI publication: pip install "ai-offboard[web]".

Changed

  • Connector layer refactored around a Connector interface + auth providers (device code / client credentials); build_connector auto-detects.
  • Device-code auth replaces App Registration as the recommended path — no tenant ID or client secret needed.

0.1.0 (2026-08-13)

Initial release — read-only Microsoft 365 AI tool audit and offboarding report tool.

Added

  • Connector: Microsoft Entra ID (Graph) read-only scanner via MSAL client credentials.
  • Mock connector: deterministic demo snapshot — offboard audit --mock works with zero Azure setup.
  • AI-app catalog (JSON) with DLP-risk tiers; substring matcher for fast community contributions.
  • Risk rules: R1 stale/unused accounts, R2 MFA gap, R4 high-privilege app.
  • Dry-run revocation planner — typed revoke steps, provably executes nothing.
  • Audit report — Markdown + HTML output with findings table and remediation steps.
  • JSON outputoffboard audit --json for machine consumption.
  • CLI: audit (--report, --mock, --json), plan (--mock), setup (interactive wizard), doctor (pre-flight checks), web (local UI), --version.
  • Setup wizard (offboard setup) — one-time interactive connector configuration that writes .env.
  • Local web UI (offboard web) — FastAPI-based dashboard with scan results, drill-down, and report download.
  • Pre-flight doctor (offboard doctor) — validates .env, config completeness, and auth connectivity.
  • README with full usage, screenshots, and quick-start.
  • Docs: docs/connectors.md (Entra App Registration guide), SPEC.md (build spec), examples/ (sample reports + screenshots).
  • CI: GitHub Actions (ruff + pytest on push/PR).
  • Security posture: read-only by design (v1), SECURITY.md, Apache-2.0 license.

ai-offboard v0.4.2

Choose a tag to compare

@joemanis joemanis released this 19 Aug 00:06
e7d58c9

Changelog

0.4.2 (2026-08-18)

Noninteractive audit reliability patch.

Fixed

  • audit --json and audit --bundle now fail fast when the cached Microsoft
    login is missing or expired instead of blocking on a device-code prompt.
  • Authentication failures are rendered as concise CLI errors instead of Rich
    tracebacks or invalid JSON output.

0.4.1 (2026-08-18)

Live-scan reliability patch.

Fixed

  • Resolve catalog-matched AI app assignments and application permissions through
    a bounded six-worker pool instead of serial 30-second Graph calls.
  • Preserve explicit not assessed coverage when any assignment lookup returns
    HTTP 403.

0.4.0 (2026-08-18)

Audit evidence portability for MSP and insurance/compliance workflows.

Added

  • offboard audit --bundle <path> creates a self-contained evidence ZIP.
  • Bundles include the Markdown and HTML reports, full machine-readable snapshot,
    findings JSON/CSV, coverage metadata, a manifest, and SHA-256 checksums.
  • Bundle manifests record the package version, tenant, scan counts, and
    confidentiality handling warning.
  • JSON stdout remains clean when bundle creation is combined with --json.

Changed

  • README now documents the evidence-bundle workflow and handling requirements.

0.3.0 (2026-08-17)

Trustworthy Entra inventory and safer operator workflows.

Added

  • Real Graph appRoleAssignedTo discovery for catalog-matched AI applications, including assigned principal and role attribution.
  • Enterprise-app inventory counts are separated from actual app-role assignments.
  • Delegated OAuth grants and application permissions now include client/resource names, consent type, and grant type where Graph provides them.
  • MFA registration coverage states and explicit NOT_ASSESSED policy results when reports telemetry is unavailable.
  • Remote web mode with explicit host opt-in, operator token, SameSite session cookie, cross-origin state-change protection, and POST-only logout.
  • MSP guard preventing audit --all from reusing an interactive device-code session across tenants.
  • Graph payload contract tests and a cross-platform built-wheel smoke-test matrix.

Changed

  • R4 no longer treats every Entra service principal as a high-privilege assignment.
  • R5 findings use readable app/resource attribution and deduplicate identical grants.
  • Reports expose data-coverage and app-role-assignment counts instead of overstating inventory.

0.2.0 (2026-08-15)

Zero Trust policy engine, gated remediation, MSP multi-tenant mode, Google Workspace. Full v1 → v3 roadmap delivered.

Added

  • Zero Trust policy engine (v3): declarative YAML policies evaluated against the scan inventory — offboard policy list / policy check (exit 0 = PASS, 2 = FAIL). Five bundled policies (ZT-001..ZT-005) including the default-deny approved-app allowlist. Named checks only — policy files can never execute code.
  • offboard execute (v2): applies remediation (block sign-in, revoke tokens, remove app assignment) behind an explicit approval gate; every mutation logged to a local audit table.
  • Google Workspace connector: reads users + OAuth-connected AI apps via Admin SDK Directory API (offboard audit --workspace); R5 scope normalization covers Google OAuth URLs. Full setup guide in docs/connectors.md.
  • Scheduled recurring audits: offboard schedule add/remove/list/run-due (daily/weekly/monthly) with SMTP report delivery.
  • Multi-tenant MSP mode: offboard tenant add/remove/list + offboard audit --all findings matrix.
  • Trend comparison: offboard report --compare diffs the last two saved scans.
  • CSV export: offboard audit --csv.
  • AI-app catalog expanded 5 → 41 real tools with DLP tiers; specificity-aware matcher (longest match wins).
  • Web UI: scan progress in CLI, pre-seeded sample report on first load, findings severity filter, Zero Trust policy compliance view.
  • PyPI publication: pip install "ai-offboard[web]".

Changed

  • Connector layer refactored around a Connector interface + auth providers (device code / client credentials); build_connector auto-detects.
  • Device-code auth replaces App Registration as the recommended path — no tenant ID or client secret needed.

0.1.0 (2026-08-13)

Initial release — read-only Microsoft 365 AI tool audit and offboarding report tool.

Added

  • Connector: Microsoft Entra ID (Graph) read-only scanner via MSAL client credentials.
  • Mock connector: deterministic demo snapshot — offboard audit --mock works with zero Azure setup.
  • AI-app catalog (JSON) with DLP-risk tiers; substring matcher for fast community contributions.
  • Risk rules: R1 stale/unused accounts, R2 MFA gap, R4 high-privilege app.
  • Dry-run revocation planner — typed revoke steps, provably executes nothing.
  • Audit report — Markdown + HTML output with findings table and remediation steps.
  • JSON outputoffboard audit --json for machine consumption.
  • CLI: audit (--report, --mock, --json), plan (--mock), setup (interactive wizard), doctor (pre-flight checks), web (local UI), --version.
  • Setup wizard (offboard setup) — one-time interactive connector configuration that writes .env.
  • Local web UI (offboard web) — FastAPI-based dashboard with scan results, drill-down, and report download.
  • Pre-flight doctor (offboard doctor) — validates .env, config completeness, and auth connectivity.
  • README with full usage, screenshots, and quick-start.
  • Docs: docs/connectors.md (Entra App Registration guide), SPEC.md (build spec), examples/ (sample reports + screenshots).
  • CI: GitHub Actions (ruff + pytest on push/PR).
  • Security posture: read-only by design (v1), SECURITY.md, Apache-2.0 license.

ai-offboard v0.4.1

Choose a tag to compare

@joemanis joemanis released this 18 Aug 23:45
4230f6e

Changelog

0.4.1 (2026-08-18)

Live-scan reliability patch.

Fixed

  • Resolve catalog-matched AI app assignments and application permissions through
    a bounded six-worker pool instead of serial 30-second Graph calls.
  • Preserve explicit not assessed coverage when any assignment lookup returns
    HTTP 403.

0.4.0 (2026-08-18)

Audit evidence portability for MSP and insurance/compliance workflows.

Added

  • offboard audit --bundle <path> creates a self-contained evidence ZIP.
  • Bundles include the Markdown and HTML reports, full machine-readable snapshot,
    findings JSON/CSV, coverage metadata, a manifest, and SHA-256 checksums.
  • Bundle manifests record the package version, tenant, scan counts, and
    confidentiality handling warning.
  • JSON stdout remains clean when bundle creation is combined with --json.

Changed

  • README now documents the evidence-bundle workflow and handling requirements.

0.3.0 (2026-08-17)

Trustworthy Entra inventory and safer operator workflows.

Added

  • Real Graph appRoleAssignedTo discovery for catalog-matched AI applications, including assigned principal and role attribution.
  • Enterprise-app inventory counts are separated from actual app-role assignments.
  • Delegated OAuth grants and application permissions now include client/resource names, consent type, and grant type where Graph provides them.
  • MFA registration coverage states and explicit NOT_ASSESSED policy results when reports telemetry is unavailable.
  • Remote web mode with explicit host opt-in, operator token, SameSite session cookie, cross-origin state-change protection, and POST-only logout.
  • MSP guard preventing audit --all from reusing an interactive device-code session across tenants.
  • Graph payload contract tests and a cross-platform built-wheel smoke-test matrix.

Changed

  • R4 no longer treats every Entra service principal as a high-privilege assignment.
  • R5 findings use readable app/resource attribution and deduplicate identical grants.
  • Reports expose data-coverage and app-role-assignment counts instead of overstating inventory.

0.2.0 (2026-08-15)

Zero Trust policy engine, gated remediation, MSP multi-tenant mode, Google Workspace. Full v1 → v3 roadmap delivered.

Added

  • Zero Trust policy engine (v3): declarative YAML policies evaluated against the scan inventory — offboard policy list / policy check (exit 0 = PASS, 2 = FAIL). Five bundled policies (ZT-001..ZT-005) including the default-deny approved-app allowlist. Named checks only — policy files can never execute code.
  • offboard execute (v2): applies remediation (block sign-in, revoke tokens, remove app assignment) behind an explicit approval gate; every mutation logged to a local audit table.
  • Google Workspace connector: reads users + OAuth-connected AI apps via Admin SDK Directory API (offboard audit --workspace); R5 scope normalization covers Google OAuth URLs. Full setup guide in docs/connectors.md.
  • Scheduled recurring audits: offboard schedule add/remove/list/run-due (daily/weekly/monthly) with SMTP report delivery.
  • Multi-tenant MSP mode: offboard tenant add/remove/list + offboard audit --all findings matrix.
  • Trend comparison: offboard report --compare diffs the last two saved scans.
  • CSV export: offboard audit --csv.
  • AI-app catalog expanded 5 → 41 real tools with DLP tiers; specificity-aware matcher (longest match wins).
  • Web UI: scan progress in CLI, pre-seeded sample report on first load, findings severity filter, Zero Trust policy compliance view.
  • PyPI publication: pip install "ai-offboard[web]".

Changed

  • Connector layer refactored around a Connector interface + auth providers (device code / client credentials); build_connector auto-detects.
  • Device-code auth replaces App Registration as the recommended path — no tenant ID or client secret needed.

0.1.0 (2026-08-13)

Initial release — read-only Microsoft 365 AI tool audit and offboarding report tool.

Added

  • Connector: Microsoft Entra ID (Graph) read-only scanner via MSAL client credentials.
  • Mock connector: deterministic demo snapshot — offboard audit --mock works with zero Azure setup.
  • AI-app catalog (JSON) with DLP-risk tiers; substring matcher for fast community contributions.
  • Risk rules: R1 stale/unused accounts, R2 MFA gap, R4 high-privilege app.
  • Dry-run revocation planner — typed revoke steps, provably executes nothing.
  • Audit report — Markdown + HTML output with findings table and remediation steps.
  • JSON outputoffboard audit --json for machine consumption.
  • CLI: audit (--report, --mock, --json), plan (--mock), setup (interactive wizard), doctor (pre-flight checks), web (local UI), --version.
  • Setup wizard (offboard setup) — one-time interactive connector configuration that writes .env.
  • Local web UI (offboard web) — FastAPI-based dashboard with scan results, drill-down, and report download.
  • Pre-flight doctor (offboard doctor) — validates .env, config completeness, and auth connectivity.
  • README with full usage, screenshots, and quick-start.
  • Docs: docs/connectors.md (Entra App Registration guide), SPEC.md (build spec), examples/ (sample reports + screenshots).
  • CI: GitHub Actions (ruff + pytest on push/PR).
  • Security posture: read-only by design (v1), SECURITY.md, Apache-2.0 license.

ai-offboard v0.4.0

Choose a tag to compare

@joemanis joemanis released this 18 Aug 23:24
c712dc2

Changelog

0.4.0 (2026-08-18)

Audit evidence portability for MSP and insurance/compliance workflows.

Added

  • offboard audit --bundle <path> creates a self-contained evidence ZIP.
  • Bundles include the Markdown and HTML reports, full machine-readable snapshot,
    findings JSON/CSV, coverage metadata, a manifest, and SHA-256 checksums.
  • Bundle manifests record the package version, tenant, scan counts, and
    confidentiality handling warning.
  • JSON stdout remains clean when bundle creation is combined with --json.

Changed

  • README now documents the evidence-bundle workflow and handling requirements.

0.3.0 (2026-08-17)

Trustworthy Entra inventory and safer operator workflows.

Added

  • Real Graph appRoleAssignedTo discovery for catalog-matched AI applications, including assigned principal and role attribution.
  • Enterprise-app inventory counts are separated from actual app-role assignments.
  • Delegated OAuth grants and application permissions now include client/resource names, consent type, and grant type where Graph provides them.
  • MFA registration coverage states and explicit NOT_ASSESSED policy results when reports telemetry is unavailable.
  • Remote web mode with explicit host opt-in, operator token, SameSite session cookie, cross-origin state-change protection, and POST-only logout.
  • MSP guard preventing audit --all from reusing an interactive device-code session across tenants.
  • Graph payload contract tests and a cross-platform built-wheel smoke-test matrix.

Changed

  • R4 no longer treats every Entra service principal as a high-privilege assignment.
  • R5 findings use readable app/resource attribution and deduplicate identical grants.
  • Reports expose data-coverage and app-role-assignment counts instead of overstating inventory.

0.2.0 (2026-08-15)

Zero Trust policy engine, gated remediation, MSP multi-tenant mode, Google Workspace. Full v1 → v3 roadmap delivered.

Added

  • Zero Trust policy engine (v3): declarative YAML policies evaluated against the scan inventory — offboard policy list / policy check (exit 0 = PASS, 2 = FAIL). Five bundled policies (ZT-001..ZT-005) including the default-deny approved-app allowlist. Named checks only — policy files can never execute code.
  • offboard execute (v2): applies remediation (block sign-in, revoke tokens, remove app assignment) behind an explicit approval gate; every mutation logged to a local audit table.
  • Google Workspace connector: reads users + OAuth-connected AI apps via Admin SDK Directory API (offboard audit --workspace); R5 scope normalization covers Google OAuth URLs. Full setup guide in docs/connectors.md.
  • Scheduled recurring audits: offboard schedule add/remove/list/run-due (daily/weekly/monthly) with SMTP report delivery.
  • Multi-tenant MSP mode: offboard tenant add/remove/list + offboard audit --all findings matrix.
  • Trend comparison: offboard report --compare diffs the last two saved scans.
  • CSV export: offboard audit --csv.
  • AI-app catalog expanded 5 → 41 real tools with DLP tiers; specificity-aware matcher (longest match wins).
  • Web UI: scan progress in CLI, pre-seeded sample report on first load, findings severity filter, Zero Trust policy compliance view.
  • PyPI publication: pip install "ai-offboard[web]".

Changed

  • Connector layer refactored around a Connector interface + auth providers (device code / client credentials); build_connector auto-detects.
  • Device-code auth replaces App Registration as the recommended path — no tenant ID or client secret needed.

0.1.0 (2026-08-13)

Initial release — read-only Microsoft 365 AI tool audit and offboarding report tool.

Added

  • Connector: Microsoft Entra ID (Graph) read-only scanner via MSAL client credentials.
  • Mock connector: deterministic demo snapshot — offboard audit --mock works with zero Azure setup.
  • AI-app catalog (JSON) with DLP-risk tiers; substring matcher for fast community contributions.
  • Risk rules: R1 stale/unused accounts, R2 MFA gap, R4 high-privilege app.
  • Dry-run revocation planner — typed revoke steps, provably executes nothing.
  • Audit report — Markdown + HTML output with findings table and remediation steps.
  • JSON outputoffboard audit --json for machine consumption.
  • CLI: audit (--report, --mock, --json), plan (--mock), setup (interactive wizard), doctor (pre-flight checks), web (local UI), --version.
  • Setup wizard (offboard setup) — one-time interactive connector configuration that writes .env.
  • Local web UI (offboard web) — FastAPI-based dashboard with scan results, drill-down, and report download.
  • Pre-flight doctor (offboard doctor) — validates .env, config completeness, and auth connectivity.
  • README with full usage, screenshots, and quick-start.
  • Docs: docs/connectors.md (Entra App Registration guide), SPEC.md (build spec), examples/ (sample reports + screenshots).
  • CI: GitHub Actions (ruff + pytest on push/PR).
  • Security posture: read-only by design (v1), SECURITY.md, Apache-2.0 license.

ai-offboard v0.3.0

Choose a tag to compare

@joemanis joemanis released this 18 Aug 04:36

Changelog

0.3.0 (2026-08-17)

Trustworthy Entra inventory and safer operator workflows.

Added

  • Real Graph appRoleAssignedTo discovery for catalog-matched AI applications, including assigned principal and role attribution.
  • Enterprise-app inventory counts are separated from actual app-role assignments.
  • Delegated OAuth grants and application permissions now include client/resource names, consent type, and grant type where Graph provides them.
  • MFA registration coverage states and explicit NOT_ASSESSED policy results when reports telemetry is unavailable.
  • Remote web mode with explicit host opt-in, operator token, SameSite session cookie, cross-origin state-change protection, and POST-only logout.
  • MSP guard preventing audit --all from reusing an interactive device-code session across tenants.
  • Graph payload contract tests and a cross-platform built-wheel smoke-test matrix.

Changed

  • R4 no longer treats every Entra service principal as a high-privilege assignment.
  • R5 findings use readable app/resource attribution and deduplicate identical grants.
  • Reports expose data-coverage and app-role-assignment counts instead of overstating inventory.

0.2.0 (2026-08-15)

Zero Trust policy engine, gated remediation, MSP multi-tenant mode, Google Workspace. Full v1 → v3 roadmap delivered.

Added

  • Zero Trust policy engine (v3): declarative YAML policies evaluated against the scan inventory — offboard policy list / policy check (exit 0 = PASS, 2 = FAIL). Five bundled policies (ZT-001..ZT-005) including the default-deny approved-app allowlist. Named checks only — policy files can never execute code.
  • offboard execute (v2): applies remediation (block sign-in, revoke tokens, remove app assignment) behind an explicit approval gate; every mutation logged to a local audit table.
  • Google Workspace connector: reads users + OAuth-connected AI apps via Admin SDK Directory API (offboard audit --workspace); R5 scope normalization covers Google OAuth URLs. Full setup guide in docs/connectors.md.
  • Scheduled recurring audits: offboard schedule add/remove/list/run-due (daily/weekly/monthly) with SMTP report delivery.
  • Multi-tenant MSP mode: offboard tenant add/remove/list + offboard audit --all findings matrix.
  • Trend comparison: offboard report --compare diffs the last two saved scans.
  • CSV export: offboard audit --csv.
  • AI-app catalog expanded 5 → 41 real tools with DLP tiers; specificity-aware matcher (longest match wins).
  • Web UI: scan progress in CLI, pre-seeded sample report on first load, findings severity filter, Zero Trust policy compliance view.
  • PyPI publication: pip install "ai-offboard[web]".

Changed

  • Connector layer refactored around a Connector interface + auth providers (device code / client credentials); build_connector auto-detects.
  • Device-code auth replaces App Registration as the recommended path — no tenant ID or client secret needed.

0.1.0 (2026-08-13)

Initial release — read-only Microsoft 365 AI tool audit and offboarding report tool.

Added

  • Connector: Microsoft Entra ID (Graph) read-only scanner via MSAL client credentials.
  • Mock connector: deterministic demo snapshot — offboard audit --mock works with zero Azure setup.
  • AI-app catalog (JSON) with DLP-risk tiers; substring matcher for fast community contributions.
  • Risk rules: R1 stale/unused accounts, R2 MFA gap, R4 high-privilege app.
  • Dry-run revocation planner — typed revoke steps, provably executes nothing.
  • Audit report — Markdown + HTML output with findings table and remediation steps.
  • JSON outputoffboard audit --json for machine consumption.
  • CLI: audit (--report, --mock, --json), plan (--mock), setup (interactive wizard), doctor (pre-flight checks), web (local UI), --version.
  • Setup wizard (offboard setup) — one-time interactive connector configuration that writes .env.
  • Local web UI (offboard web) — FastAPI-based dashboard with scan results, drill-down, and report download.
  • Pre-flight doctor (offboard doctor) — validates .env, config completeness, and auth connectivity.
  • README with full usage, screenshots, and quick-start.
  • Docs: docs/connectors.md (Entra App Registration guide), SPEC.md (build spec), examples/ (sample reports + screenshots).
  • CI: GitHub Actions (ruff + pytest on push/PR).
  • Security posture: read-only by design (v1), SECURITY.md, Apache-2.0 license.

ai-offboard 0.2.0 — Zero Trust for AI

Choose a tag to compare

@joemanis joemanis released this 16 Aug 03:13

ai-offboard 0.2.0 — Zero Trust for AI arrives

The full v1 → v3 roadmap from SPEC.md is delivered: audit → execute → Zero Trust policy engine.

What's new since 0.1.0

⚡ Zero Trust policy engine (v3)

Declarative policy-as-code evaluated against the scan inventory. Policies use named checks only — no eval, so opening a policy file can never execute code.

offboard policy list          # checks + bundled policies
offboard policy check         # scan → evaluate → exit 0 (PASS) / 2 (FAIL)
offboard policy check --json  # machine-readable compliance report

Bundled baseline (5 policies):

  • ZT-001 No stale or orphaned access (high)
  • ZT-002 MFA enforced on all principals (high)
  • ZT-003 No high-privilege AI app assignments (high)
  • ZT-004 No broad OAuth grants (high)
  • ZT-005 Approved AI-app allowlist — default-deny Zero Trust (critical)

🎯 offboard execute — real remediation (v2)

Audit findings become real actions — block sign-in, revoke tokens, remove app assignments — behind an explicit approval gate. Every mutation is appended to the local audit log.

offboard plan --tenant <id>     # review what will change (read-only)
offboard execute --tenant <id>  # approve each step, then it applies

📅 Scheduled recurring audits

offboard schedule add/remove/list/run-due — daily/weekly/monthly audits driven from cron or Task Scheduler, with SMTP report delivery.

🏢 Multi-tenant (MSP mode)

offboard tenant add/remove/list + offboard audit --all sweeps every registered tenant into a findings matrix.

📈 Trend comparison + exports

offboard report --compare diffs the last two scans (new/resolved/unchanged); audit --csv exports findings for ConnectWise/Ninja/spreadsheets.

🔌 Google Workspace connector (v1b)

Reads users + their OAuth-connected AI apps (ChatGPT, Fireflies, Zapier, …) through the Admin SDK Directory API — same risk rules as Entra.

🗂️ 41-app AI catalog

apps.json grew from 5 → 41 real AI tools with DLP tiers, plus a specificity-aware matcher (no more "GitHub Copilot → Microsoft Copilot" false positives).

🖥️ Web UI polish

Scan progress in CLI + pre-seeded sample report on first load + severity filter.

Quick start

pip install git+https://github.com/joemanis/ai-offboard.git
offboard policy check --mock   # try the policy engine with a demo snapshot

Full changelog

See CHANGELOG.md for the complete list.

Installing: Live on PyPI: pip install "ai-offboard[web]"

v0.1.0

Choose a tag to compare

@joemanis joemanis released this 15 Aug 00:12

ai-offboard v0.1.0 — initial release

Read-only AI access audit + offboarding report for Microsoft 365 tenants.
The compliance artifact you hand your insurer.

What's included

  • Read-only Entra (Graph) connector — scans users, app assignments, and
    service-principal permission grants. Never writes to the tenant.
  • AI-app catalog with DLP-risk tiers (high / medium / low) + substring
    matcher. Adding a tool is a one-PR contribution.
  • Risk rules — stale/orphaned access, MFA gaps, unused high-tier seats,
    and broad high-privilege grants.
  • Dry-run revocation planner — produces the exact steps; executes nothing.
  • Compliance-ready audit report — renders Markdown, HTML, and JSON.
  • Local web UI (offboard web) — dashboard with app inventory,
    per-finding remediation, and report downloads.
  • One-command setup (offboard setup) — interactive Entra configuration.
  • Demo mode (--mock) — full product walkthrough with zero Azure setup.

Install

pip install -e ".[web]"   # from source; PyPI publication coming
offboard web              # launch the local UI → click "Run demo scan"
offboard audit --tenant demo --mock


### Try the demo now
No Azure needed: run `offboard web`, then "Run demo scan" to see a live report.

### License
Apache-2.0

Note: because PyPI publication is still on the list (#7), the install command in the notes says "from source" — I'll keep that accurate until we ship it to PyPI.

Go ahead and publish it, then tell me when it's live and we'll roll into #3 (enable Issues + Discussions + issue templates).