.gitignore
CLAUDE.md
CONTRIBUTING.md
LICENSE
NOTICE
PrivacyFenceApp.spec
README.md
com.privacyfence.app.plist
privacyfence.service
pyproject.toml
.github/CODEOWNERS
.github/workflows/build.yml
.github/workflows/publish-pypi.yml
.github/workflows/tests.yml
credentials/.gitkeep
docs/TECHNICAL_REFERENCE.md
docs/always-allow-rules-reference.md
docs/approval-list-ui-ux.md
docs/approval-window-content-reference.md
docs/atlassian-setup.md
docs/claude-knowledge-boundary.md
docs/coding-and-testing-guidelines.md
docs/connector-qa-testing.md
docs/dev-vs-live-setup.md
docs/file-type-support.md
docs/google-cloud-setup.md
docs/https-connector-refactor-plan.md
docs/manual-pre-release-test-plan.md
docs/pii-detection-keywords.md
docs/qa-environment-setup.md
docs/salesforce-setup.md
docs/security-and-compliance.md
docs/slack-setup.md
docs/telegram-setup.md
docs/testing-policy.md
docs/images/architecture.svg
docs/images/screenshots/README.md
docs/images/screenshots/gmail-read-thread.png
docs/images/screenshots/menubar-auto-accept-rules.png
docs/images/screenshots/menubar.png
docs/images/screenshots/sheets-write.png
docs/mockups/approval-list.html
mcpb/manifest.json.tmpl
mcpb/shim/build.mjs
mcpb/shim/package-lock.json
mcpb/shim/package.json
mcpb/shim/tsconfig.json
mcpb/shim/src/daemon.ts
mcpb/shim/src/errors.ts
mcpb/shim/src/index.ts
mcpb/shim/src/protocol.ts
mcpb/shim/src/proxy.ts
mcpb/shim/test/daemon.test.ts
mcpb/shim/test/fakeMcpDaemon.ts
mcpb/shim/test/index.test.ts
mcpb/shim/test/protocol.test.ts
mcpb/shim/test/proxy.test.ts
mcpb/shim/test/testFiles.ts
scripts/build_dmg.sh
scripts/build_mcpb.sh
scripts/build_org_bundle.py
scripts/dev_start.sh
scripts/entitlements.plist
scripts/pre_release_check.py
scripts/qa_fixture_recorder.py
scripts/qa_list_ids.py
scripts/qa_popup_smoke.py
scripts/qa_web_smoke.py
scripts/slack_call_budget.py
scripts/sync_room_directory.py
src/_daemon_entry.py
src/privacyfence/__init__.py
src/privacyfence/app_credentials.py
src/privacyfence/approval_icons.py
src/privacyfence/approval_list_html.py
src/privacyfence/approval_popup.py
src/privacyfence/approval_ui.py
src/privacyfence/approval_window.py
src/privacyfence/approval_window_html.py
src/privacyfence/approvals.py
src/privacyfence/apps_script_client.py
src/privacyfence/atlassian_oauth.py
src/privacyfence/audit_log.py
src/privacyfence/auto_accept.py
src/privacyfence/calendar_client.py
src/privacyfence/card_builder.py
src/privacyfence/confluence_client.py
src/privacyfence/connector.py
src/privacyfence/connector_host.py
src/privacyfence/connector_registry.py
src/privacyfence/contacts_client.py
src/privacyfence/daemon_main.py
src/privacyfence/dialog_window.py
src/privacyfence/dialog_window_html.py
src/privacyfence/drive_client.py
src/privacyfence/email_markdown.py
src/privacyfence/gate.py
src/privacyfence/gmail_client.py
src/privacyfence/html_to_text.py
src/privacyfence/jira_client.py
src/privacyfence/markdown_to_html.py
src/privacyfence/menu_bar.py
src/privacyfence/oauth_loopback.py
src/privacyfence/org_identity.py
src/privacyfence/org_mode.py
src/privacyfence/paths.py
src/privacyfence/pii_detector.py
src/privacyfence/principal.py
src/privacyfence/privacy_filter.py
src/privacyfence/resource_grants.py
src/privacyfence/resource_names.py
src/privacyfence/room_directory_client.py
src/privacyfence/salesforce_client.py
src/privacyfence/settings_controller.py
src/privacyfence/settings_window.py
src/privacyfence/settings_window_html.py
src/privacyfence/slack_client.py
src/privacyfence/tasks_client.py
src/privacyfence/telegram_client.py
src/privacyfence/text_extraction.py
src/privacyfence/update_checker.py
src/privacyfence/web_approval_ui.py
src/privacyfence/web_prompt.py
src/privacyfence/web_shell.py
src/privacyfence.egg-info/PKG-INFO
src/privacyfence.egg-info/SOURCES.txt
src/privacyfence.egg-info/dependency_links.txt
src/privacyfence.egg-info/entry_points.txt
src/privacyfence.egg-info/requires.txt
src/privacyfence.egg-info/scm_file_list.json
src/privacyfence.egg-info/scm_version.json
src/privacyfence.egg-info/top_level.txt
src/privacyfence/connectors/__init__.py
src/privacyfence/connectors/apps_script.py
src/privacyfence/connectors/calendar.py
src/privacyfence/connectors/confluence.py
src/privacyfence/connectors/contacts.py
src/privacyfence/connectors/drive.py
src/privacyfence/connectors/gmail.py
src/privacyfence/connectors/jira.py
src/privacyfence/connectors/salesforce.py
src/privacyfence/connectors/slack.py
src/privacyfence/connectors/tasks.py
src/privacyfence/connectors/telegram.py
src/privacyfence/resources/icon_32.png
src/privacyfence/resources/icon_512.png
src/privacyfence/resources/icon_64.png
src/privacyfence/resources/icon_menubar.png
src/privacyfence/resources/settings.yaml.example
src/privacyfence/resources/sw.js
src/privacyfence/resources/tokens.css
src/privacyfence/resources/approval_window/styles.css
src/privacyfence/resources/approval_window/fonts/OFL.txt
src/privacyfence/resources/approval_window/fonts/SourceSerif4-Italic.woff2
src/privacyfence/resources/approval_window/fonts/SourceSerif4-Regular.woff2
src/privacyfence/resources/approval_window/fonts/SourceSerif4-SemiBold.woff2
src/privacyfence/resources/connector_icons/README.md
src/privacyfence/resources/connector_icons/calendar.png
src/privacyfence/resources/connector_icons/confluence.png
src/privacyfence/resources/connector_icons/contacts.png
src/privacyfence/resources/connector_icons/drive.png
src/privacyfence/resources/connector_icons/gmail.png
src/privacyfence/resources/connector_icons/jira.png
src/privacyfence/resources/connector_icons/salesforce.png
src/privacyfence/resources/connector_icons/slack.png
src/privacyfence/resources/connector_icons/tasks.png
src/privacyfence/resources/connector_icons/telegram.png
src/privacyfence/web/__init__.py
src/privacyfence/web/mcp_auth.py
src/privacyfence/web/mcp_dispatch.py
src/privacyfence/web/mcp_tools.py
src/privacyfence/web/oauth_provider.py
src/privacyfence/web/org_session.py
src/privacyfence/web/routes_approvals.py
src/privacyfence/web/routes_mcp.py
src/privacyfence/web/routes_org_identity.py
src/privacyfence/web/routes_settings.py
src/privacyfence/web/server.py
src/privacyfence/web/session_auth.py
src/privacyfence/web/state_stream.py
tests/__init__.py
tests/conftest.py
tests/helpers.py
tests/fixtures/qa_environment.yaml.example
tests/fixtures/live/README.md
tests/fixtures/live/calendar/get_event.json
tests/fixtures/live/confluence/get_page.json
tests/fixtures/live/confluence/list_spaces.json
tests/fixtures/live/contacts/get_contact.json
tests/fixtures/live/drive/get_file_metadata.json
tests/fixtures/live/gmail/get_message.json
tests/fixtures/live/jira/get_issue.json
tests/fixtures/live/jira/list_projects.json
tests/fixtures/live/salesforce/get_record.json
tests/fixtures/live/salesforce/list_reports.json
tests/fixtures/live/slack/get_thread_replies.json
tests/fixtures/live/tasks/get_task.json
tests/fixtures/live/telegram/get_messages.json
tests/fixtures/qa_assets/lorem_ipsum.docx
tests/integration/__init__.py
tests/integration/test_mcp_daemon_contract.py
tests/integration/test_shim_mcp_contract.py
tests/unit/__init__.py
tests/unit/test_app_credentials.py
tests/unit/test_approval_icons.py
tests/unit/test_approval_list_html.py
tests/unit/test_approval_popup.py
tests/unit/test_approval_ui.py
tests/unit/test_approval_window.py
tests/unit/test_approval_window_html.py
tests/unit/test_approvals.py
tests/unit/test_apps_script_client.py
tests/unit/test_atlassian_oauth.py
tests/unit/test_audit_log.py
tests/unit/test_auto_accept.py
tests/unit/test_calendar_client.py
tests/unit/test_card_builder.py
tests/unit/test_confluence_client.py
tests/unit/test_connector.py
tests/unit/test_connector_registry.py
tests/unit/test_contacts_client.py
tests/unit/test_daemon_main.py
tests/unit/test_dialog_window.py
tests/unit/test_dialog_window_html.py
tests/unit/test_drive_client.py
tests/unit/test_email_markdown.py
tests/unit/test_gate.py
tests/unit/test_gate_real_evaluator.py
tests/unit/test_gmail_client.py
tests/unit/test_html_to_text.py
tests/unit/test_jira_client.py
tests/unit/test_markdown_to_html.py
tests/unit/test_menu_bar.py
tests/unit/test_oauth_loopback.py
tests/unit/test_org_identity.py
tests/unit/test_org_mode.py
tests/unit/test_p6_principal_isolation.py
tests/unit/test_paths.py
tests/unit/test_pii_detector.py
tests/unit/test_principal.py
tests/unit/test_privacy_filter.py
tests/unit/test_qa_fixture_recorder.py
tests/unit/test_resource_grants.py
tests/unit/test_resource_names.py
tests/unit/test_room_directory_client.py
tests/unit/test_salesforce_client.py
tests/unit/test_settings_controller.py
tests/unit/test_settings_window.py
tests/unit/test_settings_window_html.py
tests/unit/test_slack_client.py
tests/unit/test_tasks_client.py
tests/unit/test_telegram_client.py
tests/unit/test_text_extraction.py
tests/unit/test_update_checker.py
tests/unit/test_web_approval_ui.py
tests/unit/test_web_prompt.py
tests/unit/test_web_shell.py
tests/unit/connectors/__init__.py
tests/unit/connectors/test_apps_script_connector.py
tests/unit/connectors/test_calendar_connector.py
tests/unit/connectors/test_confluence_connector.py
tests/unit/connectors/test_contacts_connector.py
tests/unit/connectors/test_drive_connector.py
tests/unit/connectors/test_gmail_connector.py
tests/unit/connectors/test_jira_connector.py
tests/unit/connectors/test_readme_manifest_alignment.py
tests/unit/connectors/test_salesforce_connector.py
tests/unit/connectors/test_slack_connector.py
tests/unit/connectors/test_tasks_connector.py
tests/unit/connectors/test_telegram_connector.py
tests/unit/web/__init__.py
tests/unit/web/test_mcp_auth.py
tests/unit/web/test_mcp_dispatch.py
tests/unit/web/test_oauth_provider.py
tests/unit/web/test_org_mcp_e2e.py
tests/unit/web/test_org_session.py
tests/unit/web/test_routes_approvals.py
tests/unit/web/test_routes_mcp.py
tests/unit/web/test_routes_mcp_principal.py
tests/unit/web/test_routes_org_identity.py
tests/unit/web/test_routes_settings.py
tests/unit/web/test_server.py
tests/unit/web/test_server_org_mode.py
tests/unit/web/test_state_stream.py