privacyfence 4.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- privacyfence-4.0.0/.github/CODEOWNERS +2 -0
- privacyfence-4.0.0/.github/dependabot.yml +58 -0
- privacyfence-4.0.0/.github/workflows/build.yml +759 -0
- privacyfence-4.0.0/.github/workflows/connector-live-check.yml +185 -0
- privacyfence-4.0.0/.github/workflows/dependency-audit.yml +196 -0
- privacyfence-4.0.0/.github/workflows/deploy-download-worker.yml +123 -0
- privacyfence-4.0.0/.github/workflows/linux-graphical-session.yml +95 -0
- privacyfence-4.0.0/.github/workflows/pages.yml +92 -0
- privacyfence-4.0.0/.github/workflows/publish-pypi.yml +255 -0
- privacyfence-4.0.0/.github/workflows/qa-record-fixture.yml +188 -0
- privacyfence-4.0.0/.github/workflows/tests.yml +398 -0
- privacyfence-4.0.0/.github/workflows/windows-graphical-session.yml +98 -0
- privacyfence-4.0.0/.gitignore +86 -0
- privacyfence-4.0.0/CHANGELOG.md +692 -0
- privacyfence-4.0.0/CLAUDE.md +317 -0
- privacyfence-4.0.0/CONTRIBUTING.md +49 -0
- privacyfence-4.0.0/LICENSE +185 -0
- privacyfence-4.0.0/NOTICE +36 -0
- privacyfence-4.0.0/PKG-INFO +487 -0
- privacyfence-4.0.0/PrivacyFenceApp.linux.spec +114 -0
- privacyfence-4.0.0/PrivacyFenceApp.spec +120 -0
- privacyfence-4.0.0/PrivacyFenceApp.win.spec +117 -0
- privacyfence-4.0.0/README.md +437 -0
- privacyfence-4.0.0/SECURITY.md +107 -0
- privacyfence-4.0.0/cloudflare/downloads/migrations/0001_download_counts.sql +18 -0
- privacyfence-4.0.0/cloudflare/downloads/package-lock.json +3263 -0
- privacyfence-4.0.0/cloudflare/downloads/package.json +24 -0
- privacyfence-4.0.0/cloudflare/downloads/src/artifacts.ts +87 -0
- privacyfence-4.0.0/cloudflare/downloads/src/channel.ts +41 -0
- privacyfence-4.0.0/cloudflare/downloads/src/counters.ts +70 -0
- privacyfence-4.0.0/cloudflare/downloads/src/http.ts +47 -0
- privacyfence-4.0.0/cloudflare/downloads/src/index.ts +168 -0
- privacyfence-4.0.0/cloudflare/downloads/src/manifest.ts +71 -0
- privacyfence-4.0.0/cloudflare/downloads/test/artifacts.test.ts +57 -0
- privacyfence-4.0.0/cloudflare/downloads/test/channel.test.ts +32 -0
- privacyfence-4.0.0/cloudflare/downloads/test/counters.test.ts +57 -0
- privacyfence-4.0.0/cloudflare/downloads/test/download.test.ts +238 -0
- privacyfence-4.0.0/cloudflare/downloads/test/env.d.ts +12 -0
- privacyfence-4.0.0/cloudflare/downloads/test/fixtures/alpha/latest.json +4 -0
- privacyfence-4.0.0/cloudflare/downloads/test/fixtures/alpha/manifest.json +18 -0
- privacyfence-4.0.0/cloudflare/downloads/test/fixtures/beta/latest.json +4 -0
- privacyfence-4.0.0/cloudflare/downloads/test/fixtures/beta/manifest.json +18 -0
- privacyfence-4.0.0/cloudflare/downloads/test/fixtures/rc/latest.json +4 -0
- privacyfence-4.0.0/cloudflare/downloads/test/fixtures/rc/manifest.json +18 -0
- privacyfence-4.0.0/cloudflare/downloads/test/fixtures/stable/latest.json +4 -0
- privacyfence-4.0.0/cloudflare/downloads/test/fixtures/stable/manifest.json +38 -0
- privacyfence-4.0.0/cloudflare/downloads/test/fixtures/stable/old-manifest.json +18 -0
- privacyfence-4.0.0/cloudflare/downloads/test/setup.ts +53 -0
- privacyfence-4.0.0/cloudflare/downloads/tsconfig.json +17 -0
- privacyfence-4.0.0/cloudflare/downloads/vitest.config.ts +20 -0
- privacyfence-4.0.0/cloudflare/downloads/worker-configuration.d.ts +16 -0
- privacyfence-4.0.0/cloudflare/downloads/wrangler.toml +35 -0
- privacyfence-4.0.0/com.privacyfence.app.plist +53 -0
- privacyfence-4.0.0/credentials/.gitkeep +0 -0
- privacyfence-4.0.0/debian/control +29 -0
- privacyfence-4.0.0/debian/copyright +15 -0
- privacyfence-4.0.0/debian/install +34 -0
- privacyfence-4.0.0/debian/postinst +31 -0
- privacyfence-4.0.0/debian/postrm +35 -0
- privacyfence-4.0.0/debian/prerm +24 -0
- privacyfence-4.0.0/debian/privacyfence.lintian-overrides +27 -0
- privacyfence-4.0.0/debian/rules +50 -0
- privacyfence-4.0.0/debian/source/format +1 -0
- privacyfence-4.0.0/docs/README.md +66 -0
- privacyfence-4.0.0/docs/TECHNICAL_REFERENCE.md +1116 -0
- privacyfence-4.0.0/docs/adr/0001-remove-macos-native-extra.md +27 -0
- privacyfence-4.0.0/docs/always-allow-rules-reference.md +378 -0
- privacyfence-4.0.0/docs/approval-list-ui-ux.md +67 -0
- privacyfence-4.0.0/docs/approval-window-content-reference.md +59 -0
- privacyfence-4.0.0/docs/atlassian-setup.md +137 -0
- privacyfence-4.0.0/docs/claude-knowledge-boundary.md +72 -0
- privacyfence-4.0.0/docs/coding-and-testing-guidelines.md +351 -0
- privacyfence-4.0.0/docs/connector-live-check-setup.md +104 -0
- privacyfence-4.0.0/docs/connector-qa-testing.md +105 -0
- privacyfence-4.0.0/docs/dev-vs-live-setup.md +53 -0
- privacyfence-4.0.0/docs/downloads-and-release-kpi.md +272 -0
- privacyfence-4.0.0/docs/file-type-support.md +57 -0
- privacyfence-4.0.0/docs/google-cloud-setup.md +194 -0
- privacyfence-4.0.0/docs/images/architecture.svg +114 -0
- privacyfence-4.0.0/docs/images/screenshots/README.md +26 -0
- privacyfence-4.0.0/docs/images/screenshots/gmail-read-thread.png +0 -0
- privacyfence-4.0.0/docs/images/screenshots/settings-auto-accept-rules.png +0 -0
- privacyfence-4.0.0/docs/images/screenshots/settings-connectors.png +0 -0
- privacyfence-4.0.0/docs/images/screenshots/sheets-write.png +0 -0
- privacyfence-4.0.0/docs/org-mode-download-delivery.md +48 -0
- privacyfence-4.0.0/docs/org-mode-operational-readiness.md +108 -0
- privacyfence-4.0.0/docs/org-mode-setup-guide.md +179 -0
- privacyfence-4.0.0/docs/pii-detection-keywords.md +95 -0
- privacyfence-4.0.0/docs/platform-support.md +242 -0
- privacyfence-4.0.0/docs/qa-environment-setup.md +69 -0
- privacyfence-4.0.0/docs/release-testing.md +40 -0
- privacyfence-4.0.0/docs/salesforce-setup.md +102 -0
- privacyfence-4.0.0/docs/security-and-compliance.md +241 -0
- privacyfence-4.0.0/docs/slack-setup.md +130 -0
- privacyfence-4.0.0/docs/telegram-setup.md +91 -0
- privacyfence-4.0.0/docs/testing-policy.md +521 -0
- privacyfence-4.0.0/installer/privacyfence-task.xml.tmpl +167 -0
- privacyfence-4.0.0/installer/privacyfence.iss +387 -0
- privacyfence-4.0.0/mcpb/manifest.json.tmpl +25 -0
- privacyfence-4.0.0/mcpb/shim/build.mjs +23 -0
- privacyfence-4.0.0/mcpb/shim/package-lock.json +1754 -0
- privacyfence-4.0.0/mcpb/shim/package.json +22 -0
- privacyfence-4.0.0/mcpb/shim/src/daemon.ts +330 -0
- privacyfence-4.0.0/mcpb/shim/src/errors.ts +17 -0
- privacyfence-4.0.0/mcpb/shim/src/index.ts +189 -0
- privacyfence-4.0.0/mcpb/shim/src/protocol.ts +67 -0
- privacyfence-4.0.0/mcpb/shim/src/proxy.ts +114 -0
- privacyfence-4.0.0/mcpb/shim/src/sessionFetch.ts +57 -0
- privacyfence-4.0.0/mcpb/shim/test/daemon.test.ts +433 -0
- privacyfence-4.0.0/mcpb/shim/test/fakeMcpDaemon.ts +69 -0
- privacyfence-4.0.0/mcpb/shim/test/index.test.ts +96 -0
- privacyfence-4.0.0/mcpb/shim/test/protocol.test.ts +85 -0
- privacyfence-4.0.0/mcpb/shim/test/proxy.test.ts +176 -0
- privacyfence-4.0.0/mcpb/shim/test/sessionFetch.test.ts +57 -0
- privacyfence-4.0.0/mcpb/shim/test/testFiles.ts +59 -0
- privacyfence-4.0.0/mcpb/shim/tsconfig.json +19 -0
- privacyfence-4.0.0/privacyfence.service +56 -0
- privacyfence-4.0.0/pyproject.toml +326 -0
- privacyfence-4.0.0/requirements/README.md +42 -0
- privacyfence-4.0.0/requirements/dev.lock.txt +2306 -0
- privacyfence-4.0.0/requirements/runtime.lock.txt +1342 -0
- privacyfence-4.0.0/resources/linux/privacyfence-app-wrapper +14 -0
- privacyfence-4.0.0/resources/linux/privacyfence.desktop +18 -0
- privacyfence-4.0.0/scripts/build_deb.sh +301 -0
- privacyfence-4.0.0/scripts/build_dmg.sh +172 -0
- privacyfence-4.0.0/scripts/build_installer.ps1 +192 -0
- privacyfence-4.0.0/scripts/build_mcpb.sh +81 -0
- privacyfence-4.0.0/scripts/build_org_bundle.py +665 -0
- privacyfence-4.0.0/scripts/changelog_section.py +239 -0
- privacyfence-4.0.0/scripts/check_coverage_floor.py +175 -0
- privacyfence-4.0.0/scripts/dev_start.sh +104 -0
- privacyfence-4.0.0/scripts/entitlements.plist +25 -0
- privacyfence-4.0.0/scripts/pre_release_check.py +106 -0
- privacyfence-4.0.0/scripts/pyinstaller_common.py +86 -0
- privacyfence-4.0.0/scripts/qa_authenticate_connectors.py +198 -0
- privacyfence-4.0.0/scripts/qa_fixture_recorder.py +2107 -0
- privacyfence-4.0.0/scripts/qa_list_ids.py +88 -0
- privacyfence-4.0.0/scripts/qa_readme_screenshots.py +143 -0
- privacyfence-4.0.0/scripts/qa_web_smoke.py +238 -0
- privacyfence-4.0.0/scripts/r2_release.py +455 -0
- privacyfence-4.0.0/scripts/release_stats.py +107 -0
- privacyfence-4.0.0/scripts/slack_call_budget.py +253 -0
- privacyfence-4.0.0/scripts/sync_room_directory.py +414 -0
- privacyfence-4.0.0/scripts/update_branch_protection.py +303 -0
- privacyfence-4.0.0/scripts/update_dependency_locks.sh +88 -0
- privacyfence-4.0.0/scripts/verify_audit_log.py +98 -0
- privacyfence-4.0.0/setup.cfg +4 -0
- privacyfence-4.0.0/src/_daemon_entry.py +26 -0
- privacyfence-4.0.0/src/privacyfence/__init__.py +17 -0
- privacyfence-4.0.0/src/privacyfence/app_credentials.py +30 -0
- privacyfence-4.0.0/src/privacyfence/approval_icons.py +58 -0
- privacyfence-4.0.0/src/privacyfence/approval_list_html.py +285 -0
- privacyfence-4.0.0/src/privacyfence/approval_ui.py +167 -0
- privacyfence-4.0.0/src/privacyfence/approval_window_html.py +919 -0
- privacyfence-4.0.0/src/privacyfence/approvals.py +649 -0
- privacyfence-4.0.0/src/privacyfence/apps_script_client.py +337 -0
- privacyfence-4.0.0/src/privacyfence/atlassian_oauth.py +268 -0
- privacyfence-4.0.0/src/privacyfence/audit_forwarding.py +229 -0
- privacyfence-4.0.0/src/privacyfence/audit_log.py +855 -0
- privacyfence-4.0.0/src/privacyfence/auto_accept.py +1712 -0
- privacyfence-4.0.0/src/privacyfence/calendar_client.py +741 -0
- privacyfence-4.0.0/src/privacyfence/card_builder.py +138 -0
- privacyfence-4.0.0/src/privacyfence/confluence_client.py +630 -0
- privacyfence-4.0.0/src/privacyfence/connector.py +90 -0
- privacyfence-4.0.0/src/privacyfence/connector_host.py +60 -0
- privacyfence-4.0.0/src/privacyfence/connector_registry.py +156 -0
- privacyfence-4.0.0/src/privacyfence/connectors/__init__.py +2 -0
- privacyfence-4.0.0/src/privacyfence/connectors/apps_script.py +316 -0
- privacyfence-4.0.0/src/privacyfence/connectors/calendar.py +765 -0
- privacyfence-4.0.0/src/privacyfence/connectors/confluence.py +652 -0
- privacyfence-4.0.0/src/privacyfence/connectors/contacts.py +422 -0
- privacyfence-4.0.0/src/privacyfence/connectors/drive.py +1721 -0
- privacyfence-4.0.0/src/privacyfence/connectors/gmail.py +1421 -0
- privacyfence-4.0.0/src/privacyfence/connectors/jira.py +447 -0
- privacyfence-4.0.0/src/privacyfence/connectors/salesforce.py +434 -0
- privacyfence-4.0.0/src/privacyfence/connectors/slack.py +730 -0
- privacyfence-4.0.0/src/privacyfence/connectors/tasks.py +380 -0
- privacyfence-4.0.0/src/privacyfence/connectors/telegram.py +304 -0
- privacyfence-4.0.0/src/privacyfence/contacts_client.py +677 -0
- privacyfence-4.0.0/src/privacyfence/daemon_main.py +1718 -0
- privacyfence-4.0.0/src/privacyfence/dialog_window_html.py +267 -0
- privacyfence-4.0.0/src/privacyfence/download_staging.py +295 -0
- privacyfence-4.0.0/src/privacyfence/drive_client.py +2681 -0
- privacyfence-4.0.0/src/privacyfence/email_markdown.py +169 -0
- privacyfence-4.0.0/src/privacyfence/gate.py +1337 -0
- privacyfence-4.0.0/src/privacyfence/gmail_client.py +1261 -0
- privacyfence-4.0.0/src/privacyfence/google_oauth.py +183 -0
- privacyfence-4.0.0/src/privacyfence/html_to_text.py +250 -0
- privacyfence-4.0.0/src/privacyfence/jira_client.py +457 -0
- privacyfence-4.0.0/src/privacyfence/markdown_to_html.py +134 -0
- privacyfence-4.0.0/src/privacyfence/oauth_loopback.py +205 -0
- privacyfence-4.0.0/src/privacyfence/org_bundle_signing.py +255 -0
- privacyfence-4.0.0/src/privacyfence/org_identity.py +369 -0
- privacyfence-4.0.0/src/privacyfence/org_mode.py +404 -0
- privacyfence-4.0.0/src/privacyfence/paths.py +222 -0
- privacyfence-4.0.0/src/privacyfence/pii_detector.py +447 -0
- privacyfence-4.0.0/src/privacyfence/principal.py +191 -0
- privacyfence-4.0.0/src/privacyfence/privacy_filter.py +223 -0
- privacyfence-4.0.0/src/privacyfence/resource_grants.py +626 -0
- privacyfence-4.0.0/src/privacyfence/resource_names.py +134 -0
- privacyfence-4.0.0/src/privacyfence/resources/approval_window/fonts/OFL.txt +93 -0
- privacyfence-4.0.0/src/privacyfence/resources/approval_window/fonts/SourceSerif4-Italic.woff2 +0 -0
- privacyfence-4.0.0/src/privacyfence/resources/approval_window/fonts/SourceSerif4-Regular.woff2 +0 -0
- privacyfence-4.0.0/src/privacyfence/resources/approval_window/fonts/SourceSerif4-SemiBold.woff2 +0 -0
- privacyfence-4.0.0/src/privacyfence/resources/approval_window/styles.css +447 -0
- privacyfence-4.0.0/src/privacyfence/resources/connector_icons/README.md +47 -0
- privacyfence-4.0.0/src/privacyfence/resources/connector_icons/calendar.png +0 -0
- privacyfence-4.0.0/src/privacyfence/resources/connector_icons/confluence.png +0 -0
- privacyfence-4.0.0/src/privacyfence/resources/connector_icons/contacts.png +0 -0
- privacyfence-4.0.0/src/privacyfence/resources/connector_icons/drive.png +0 -0
- privacyfence-4.0.0/src/privacyfence/resources/connector_icons/gmail.png +0 -0
- privacyfence-4.0.0/src/privacyfence/resources/connector_icons/jira.png +0 -0
- privacyfence-4.0.0/src/privacyfence/resources/connector_icons/salesforce.png +0 -0
- privacyfence-4.0.0/src/privacyfence/resources/connector_icons/slack.png +0 -0
- privacyfence-4.0.0/src/privacyfence/resources/connector_icons/tasks.png +0 -0
- privacyfence-4.0.0/src/privacyfence/resources/connector_icons/telegram.png +0 -0
- privacyfence-4.0.0/src/privacyfence/resources/icon_32.png +0 -0
- privacyfence-4.0.0/src/privacyfence/resources/icon_512.png +0 -0
- privacyfence-4.0.0/src/privacyfence/resources/icon_64.png +0 -0
- privacyfence-4.0.0/src/privacyfence/resources/icon_menubar.png +0 -0
- privacyfence-4.0.0/src/privacyfence/resources/settings.yaml.example +290 -0
- privacyfence-4.0.0/src/privacyfence/resources/sw.js +43 -0
- privacyfence-4.0.0/src/privacyfence/resources/tokens.css +119 -0
- privacyfence-4.0.0/src/privacyfence/safe_errors.py +183 -0
- privacyfence-4.0.0/src/privacyfence/salesforce_client.py +427 -0
- privacyfence-4.0.0/src/privacyfence/secure_files.py +202 -0
- privacyfence-4.0.0/src/privacyfence/settings_controller.py +1892 -0
- privacyfence-4.0.0/src/privacyfence/settings_window_html.py +1270 -0
- privacyfence-4.0.0/src/privacyfence/slack_client.py +1778 -0
- privacyfence-4.0.0/src/privacyfence/std_streams.py +62 -0
- privacyfence-4.0.0/src/privacyfence/tasks_client.py +345 -0
- privacyfence-4.0.0/src/privacyfence/telegram_auth.py +73 -0
- privacyfence-4.0.0/src/privacyfence/telegram_client.py +596 -0
- privacyfence-4.0.0/src/privacyfence/text_extraction.py +450 -0
- privacyfence-4.0.0/src/privacyfence/update_checker.py +253 -0
- privacyfence-4.0.0/src/privacyfence/url_safety.py +34 -0
- privacyfence-4.0.0/src/privacyfence/web/__init__.py +13 -0
- privacyfence-4.0.0/src/privacyfence/web/csp.py +125 -0
- privacyfence-4.0.0/src/privacyfence/web/mcp_auth.py +99 -0
- privacyfence-4.0.0/src/privacyfence/web/mcp_dispatch.py +665 -0
- privacyfence-4.0.0/src/privacyfence/web/mcp_tools.py +377 -0
- privacyfence-4.0.0/src/privacyfence/web/oauth_provider.py +557 -0
- privacyfence-4.0.0/src/privacyfence/web/org_session.py +212 -0
- privacyfence-4.0.0/src/privacyfence/web/routes_approvals.py +335 -0
- privacyfence-4.0.0/src/privacyfence/web/routes_connect.py +672 -0
- privacyfence-4.0.0/src/privacyfence/web/routes_downloads.py +141 -0
- privacyfence-4.0.0/src/privacyfence/web/routes_mcp.py +509 -0
- privacyfence-4.0.0/src/privacyfence/web/routes_org_approvals.py +474 -0
- privacyfence-4.0.0/src/privacyfence/web/routes_org_identity.py +205 -0
- privacyfence-4.0.0/src/privacyfence/web/routes_security.py +316 -0
- privacyfence-4.0.0/src/privacyfence/web/routes_settings.py +392 -0
- privacyfence-4.0.0/src/privacyfence/web/server.py +993 -0
- privacyfence-4.0.0/src/privacyfence/web/session_auth.py +337 -0
- privacyfence-4.0.0/src/privacyfence/web/state_stream.py +191 -0
- privacyfence-4.0.0/src/privacyfence/web_approval_ui.py +205 -0
- privacyfence-4.0.0/src/privacyfence/web_prompt.py +76 -0
- privacyfence-4.0.0/src/privacyfence/web_shell.py +382 -0
- privacyfence-4.0.0/src/privacyfence/webauthn_stepup.py +417 -0
- privacyfence-4.0.0/src/privacyfence.egg-info/PKG-INFO +487 -0
- privacyfence-4.0.0/src/privacyfence.egg-info/SOURCES.txt +422 -0
- privacyfence-4.0.0/src/privacyfence.egg-info/dependency_links.txt +1 -0
- privacyfence-4.0.0/src/privacyfence.egg-info/entry_points.txt +2 -0
- privacyfence-4.0.0/src/privacyfence.egg-info/requires.txt +41 -0
- privacyfence-4.0.0/src/privacyfence.egg-info/scm_file_list.json +418 -0
- privacyfence-4.0.0/src/privacyfence.egg-info/scm_version.json +8 -0
- privacyfence-4.0.0/src/privacyfence.egg-info/top_level.txt +1 -0
- privacyfence-4.0.0/tests/__init__.py +0 -0
- privacyfence-4.0.0/tests/conftest.py +104 -0
- privacyfence-4.0.0/tests/diagnostics.py +198 -0
- privacyfence-4.0.0/tests/fixtures/live/README.md +17 -0
- privacyfence-4.0.0/tests/fixtures/live/apps_script/get_content.json +39 -0
- privacyfence-4.0.0/tests/fixtures/live/calendar/get_event.json +33 -0
- privacyfence-4.0.0/tests/fixtures/live/confluence/get_page.json +34 -0
- privacyfence-4.0.0/tests/fixtures/live/confluence/list_spaces.json +29 -0
- privacyfence-4.0.0/tests/fixtures/live/contacts/get_contact.json +73 -0
- privacyfence-4.0.0/tests/fixtures/live/drive/get_file_metadata.json +17 -0
- privacyfence-4.0.0/tests/fixtures/live/gmail/get_message.json +82 -0
- privacyfence-4.0.0/tests/fixtures/live/jira/get_issue.json +171 -0
- privacyfence-4.0.0/tests/fixtures/live/jira/list_projects.json +22 -0
- privacyfence-4.0.0/tests/fixtures/live/salesforce/get_record.json +76 -0
- privacyfence-4.0.0/tests/fixtures/live/salesforce/list_reports.json +17 -0
- privacyfence-4.0.0/tests/fixtures/live/slack/get_thread_replies.json +96 -0
- privacyfence-4.0.0/tests/fixtures/live/tasks/get_task.json +13 -0
- privacyfence-4.0.0/tests/fixtures/live/telegram/get_messages.json +60 -0
- privacyfence-4.0.0/tests/fixtures/qa_assets/lorem_ipsum.docx +0 -0
- privacyfence-4.0.0/tests/fixtures/qa_environment.yaml.example +142 -0
- privacyfence-4.0.0/tests/helpers.py +120 -0
- privacyfence-4.0.0/tests/integration/__init__.py +1 -0
- privacyfence-4.0.0/tests/integration/mock_idp.py +199 -0
- privacyfence-4.0.0/tests/integration/test_browser_smoke.py +1170 -0
- privacyfence-4.0.0/tests/integration/test_deb_packaged_lifecycle.py +626 -0
- privacyfence-4.0.0/tests/integration/test_deferred_approval_round_trip.py +231 -0
- privacyfence-4.0.0/tests/integration/test_download_page.py +374 -0
- privacyfence-4.0.0/tests/integration/test_linux_graphical_session_autostart.py +517 -0
- privacyfence-4.0.0/tests/integration/test_macos_packaged_smoke.py +774 -0
- privacyfence-4.0.0/tests/integration/test_mcp_daemon_contract.py +212 -0
- privacyfence-4.0.0/tests/integration/test_org_ubuntu_release_smoke.py +1012 -0
- privacyfence-4.0.0/tests/integration/test_shim_mcp_contract.py +228 -0
- privacyfence-4.0.0/tests/integration/test_windows_graphical_session_autostart.py +798 -0
- privacyfence-4.0.0/tests/integration/test_windows_packaged_smoke.py +655 -0
- privacyfence-4.0.0/tests/platform/__init__.py +0 -0
- privacyfence-4.0.0/tests/platform/test_atomic_write_concurrency.py +103 -0
- privacyfence-4.0.0/tests/platform/test_browser_launch_default.py +105 -0
- privacyfence-4.0.0/tests/platform/test_daemon_process_lifecycle.py +231 -0
- privacyfence-4.0.0/tests/platform/test_single_instance_lock_cross_process.py +119 -0
- privacyfence-4.0.0/tests/system/__init__.py +0 -0
- privacyfence-4.0.0/tests/system/test_local_mode_system.py +536 -0
- privacyfence-4.0.0/tests/unit/__init__.py +0 -0
- privacyfence-4.0.0/tests/unit/abuse/__init__.py +0 -0
- privacyfence-4.0.0/tests/unit/abuse/test_abuse_audit_export.py +123 -0
- privacyfence-4.0.0/tests/unit/abuse/test_abuse_markdown_rendering.py +146 -0
- privacyfence-4.0.0/tests/unit/abuse/test_abuse_mcp_error_taxonomy.py +175 -0
- privacyfence-4.0.0/tests/unit/connectors/__init__.py +0 -0
- privacyfence-4.0.0/tests/unit/connectors/test_apps_script_connector.py +326 -0
- privacyfence-4.0.0/tests/unit/connectors/test_calendar_connector.py +795 -0
- privacyfence-4.0.0/tests/unit/connectors/test_confluence_connector.py +865 -0
- privacyfence-4.0.0/tests/unit/connectors/test_contacts_connector.py +452 -0
- privacyfence-4.0.0/tests/unit/connectors/test_drive_connector.py +1930 -0
- privacyfence-4.0.0/tests/unit/connectors/test_gmail_connector.py +1539 -0
- privacyfence-4.0.0/tests/unit/connectors/test_jira_connector.py +557 -0
- privacyfence-4.0.0/tests/unit/connectors/test_readme_manifest_alignment.py +162 -0
- privacyfence-4.0.0/tests/unit/connectors/test_salesforce_connector.py +545 -0
- privacyfence-4.0.0/tests/unit/connectors/test_slack_connector.py +918 -0
- privacyfence-4.0.0/tests/unit/connectors/test_tasks_connector.py +415 -0
- privacyfence-4.0.0/tests/unit/connectors/test_telegram_connector.py +326 -0
- privacyfence-4.0.0/tests/unit/test_app_credentials.py +86 -0
- privacyfence-4.0.0/tests/unit/test_approval_icons.py +45 -0
- privacyfence-4.0.0/tests/unit/test_approval_list_html.py +78 -0
- privacyfence-4.0.0/tests/unit/test_approval_ui.py +100 -0
- privacyfence-4.0.0/tests/unit/test_approval_window_html.py +780 -0
- privacyfence-4.0.0/tests/unit/test_approvals.py +671 -0
- privacyfence-4.0.0/tests/unit/test_apps_script_client.py +537 -0
- privacyfence-4.0.0/tests/unit/test_atlassian_oauth.py +396 -0
- privacyfence-4.0.0/tests/unit/test_audit_forwarding.py +277 -0
- privacyfence-4.0.0/tests/unit/test_audit_log.py +791 -0
- privacyfence-4.0.0/tests/unit/test_auto_accept.py +2192 -0
- privacyfence-4.0.0/tests/unit/test_build_org_bundle.py +361 -0
- privacyfence-4.0.0/tests/unit/test_calendar_client.py +1062 -0
- privacyfence-4.0.0/tests/unit/test_card_builder.py +127 -0
- privacyfence-4.0.0/tests/unit/test_changelog_section.py +286 -0
- privacyfence-4.0.0/tests/unit/test_confluence_client.py +791 -0
- privacyfence-4.0.0/tests/unit/test_connector.py +70 -0
- privacyfence-4.0.0/tests/unit/test_connector_registry.py +187 -0
- privacyfence-4.0.0/tests/unit/test_contacts_client.py +950 -0
- privacyfence-4.0.0/tests/unit/test_daemon_main.py +2804 -0
- privacyfence-4.0.0/tests/unit/test_daemon_std_streams.py +91 -0
- privacyfence-4.0.0/tests/unit/test_dialog_window_html.py +194 -0
- privacyfence-4.0.0/tests/unit/test_docs_links.py +115 -0
- privacyfence-4.0.0/tests/unit/test_download_staging.py +223 -0
- privacyfence-4.0.0/tests/unit/test_drive_client.py +3673 -0
- privacyfence-4.0.0/tests/unit/test_email_markdown.py +123 -0
- privacyfence-4.0.0/tests/unit/test_gate.py +2804 -0
- privacyfence-4.0.0/tests/unit/test_gate_real_evaluator.py +829 -0
- privacyfence-4.0.0/tests/unit/test_gmail_client.py +1844 -0
- privacyfence-4.0.0/tests/unit/test_google_oauth.py +201 -0
- privacyfence-4.0.0/tests/unit/test_html_to_text.py +213 -0
- privacyfence-4.0.0/tests/unit/test_jira_client.py +682 -0
- privacyfence-4.0.0/tests/unit/test_markdown_to_html.py +140 -0
- privacyfence-4.0.0/tests/unit/test_oauth_loopback.py +306 -0
- privacyfence-4.0.0/tests/unit/test_org_bundle_signing.py +149 -0
- privacyfence-4.0.0/tests/unit/test_org_identity.py +457 -0
- privacyfence-4.0.0/tests/unit/test_org_mode.py +323 -0
- privacyfence-4.0.0/tests/unit/test_p6_principal_isolation.py +202 -0
- privacyfence-4.0.0/tests/unit/test_parser_properties.py +168 -0
- privacyfence-4.0.0/tests/unit/test_paths.py +369 -0
- privacyfence-4.0.0/tests/unit/test_pii_detector.py +527 -0
- privacyfence-4.0.0/tests/unit/test_pre_release_check.py +35 -0
- privacyfence-4.0.0/tests/unit/test_principal.py +211 -0
- privacyfence-4.0.0/tests/unit/test_privacy_filter.py +202 -0
- privacyfence-4.0.0/tests/unit/test_qa_authenticate_connectors.py +98 -0
- privacyfence-4.0.0/tests/unit/test_qa_fixture_recorder.py +2347 -0
- privacyfence-4.0.0/tests/unit/test_r2_release.py +331 -0
- privacyfence-4.0.0/tests/unit/test_release_stats.py +153 -0
- privacyfence-4.0.0/tests/unit/test_resource_grants.py +695 -0
- privacyfence-4.0.0/tests/unit/test_resource_names.py +155 -0
- privacyfence-4.0.0/tests/unit/test_safe_errors.py +181 -0
- privacyfence-4.0.0/tests/unit/test_salesforce_client.py +708 -0
- privacyfence-4.0.0/tests/unit/test_secure_files.py +325 -0
- privacyfence-4.0.0/tests/unit/test_settings_controller.py +1950 -0
- privacyfence-4.0.0/tests/unit/test_settings_window_html.py +428 -0
- privacyfence-4.0.0/tests/unit/test_slack_client.py +2308 -0
- privacyfence-4.0.0/tests/unit/test_sync_room_directory.py +483 -0
- privacyfence-4.0.0/tests/unit/test_systemic_gate_invariants.py +293 -0
- privacyfence-4.0.0/tests/unit/test_tasks_client.py +575 -0
- privacyfence-4.0.0/tests/unit/test_telegram_auth.py +94 -0
- privacyfence-4.0.0/tests/unit/test_telegram_client.py +801 -0
- privacyfence-4.0.0/tests/unit/test_text_extraction.py +499 -0
- privacyfence-4.0.0/tests/unit/test_update_branch_protection.py +378 -0
- privacyfence-4.0.0/tests/unit/test_update_checker.py +408 -0
- privacyfence-4.0.0/tests/unit/test_url_safety.py +56 -0
- privacyfence-4.0.0/tests/unit/test_verify_audit_log.py +112 -0
- privacyfence-4.0.0/tests/unit/test_web_approval_ui.py +265 -0
- privacyfence-4.0.0/tests/unit/test_web_prompt.py +151 -0
- privacyfence-4.0.0/tests/unit/test_web_shell.py +180 -0
- privacyfence-4.0.0/tests/unit/test_webauthn_stepup.py +272 -0
- privacyfence-4.0.0/tests/unit/test_website_download_cta.py +80 -0
- privacyfence-4.0.0/tests/unit/test_windows_autostart_task_template.py +83 -0
- privacyfence-4.0.0/tests/unit/web/__init__.py +0 -0
- privacyfence-4.0.0/tests/unit/web/test_csp.py +52 -0
- privacyfence-4.0.0/tests/unit/web/test_mcp_auth.py +50 -0
- privacyfence-4.0.0/tests/unit/web/test_mcp_dispatch.py +814 -0
- privacyfence-4.0.0/tests/unit/web/test_mcp_tools.py +417 -0
- privacyfence-4.0.0/tests/unit/web/test_oauth_provider.py +530 -0
- privacyfence-4.0.0/tests/unit/web/test_org_mcp_e2e.py +272 -0
- privacyfence-4.0.0/tests/unit/web/test_org_session.py +217 -0
- privacyfence-4.0.0/tests/unit/web/test_routes_approvals.py +406 -0
- privacyfence-4.0.0/tests/unit/web/test_routes_connect.py +356 -0
- privacyfence-4.0.0/tests/unit/web/test_routes_downloads.py +176 -0
- privacyfence-4.0.0/tests/unit/web/test_routes_mcp.py +576 -0
- privacyfence-4.0.0/tests/unit/web/test_routes_mcp_principal.py +83 -0
- privacyfence-4.0.0/tests/unit/web/test_routes_org_approvals.py +481 -0
- privacyfence-4.0.0/tests/unit/web/test_routes_org_identity.py +294 -0
- privacyfence-4.0.0/tests/unit/web/test_routes_security.py +321 -0
- privacyfence-4.0.0/tests/unit/web/test_routes_settings.py +470 -0
- privacyfence-4.0.0/tests/unit/web/test_server.py +960 -0
- privacyfence-4.0.0/tests/unit/web/test_server_org_mode.py +376 -0
- privacyfence-4.0.0/tests/unit/web/test_session_auth.py +371 -0
- privacyfence-4.0.0/tests/unit/web/test_state_stream.py +206 -0
- privacyfence-4.0.0/tests/windows_task_contract.py +180 -0
- privacyfence-4.0.0/website/download/download.js +198 -0
- privacyfence-4.0.0/website/download/index.html +91 -0
- privacyfence-4.0.0/website/index.html +157 -0
- privacyfence-4.0.0/website/stats.js +47 -0
- privacyfence-4.0.0/website/styles.css +191 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
|
|
3
|
+
# Four ecosystems, matching the four places this repo declares a dependency version:
|
|
4
|
+
# pyproject.toml (the daemon), mcpb/shim/package.json (the .mcpb shim),
|
|
5
|
+
# cloudflare/downloads/package.json (the downloads.privacyfence.eu Worker,
|
|
6
|
+
# docs/downloads-and-release-kpi.md), and the SHA-pinned `uses:`
|
|
7
|
+
# lines in .github/workflows/*.yml themselves (see those files' own comments
|
|
8
|
+
# on why they're pinned to a commit instead of a tag). A PR from any of
|
|
9
|
+
# these four updates only the manifest/pin — it does not regenerate
|
|
10
|
+
# requirements/*.lock.txt, which is a derived file; the
|
|
11
|
+
# `lockfile-freshness` job in dependency-audit.yml catches a merged bump
|
|
12
|
+
# that leaves the lock file stale before it reaches main, and
|
|
13
|
+
# scripts/update_dependency_locks.sh is how a human (or a follow-up commit
|
|
14
|
+
# on the Dependabot PR) brings it back in sync.
|
|
15
|
+
updates:
|
|
16
|
+
- package-ecosystem: "github-actions"
|
|
17
|
+
directory: "/"
|
|
18
|
+
schedule:
|
|
19
|
+
interval: "weekly"
|
|
20
|
+
groups:
|
|
21
|
+
# Actions bump together in one PR -- they're independent third-party
|
|
22
|
+
# projects, not a coupled dependency graph, so there's nothing a
|
|
23
|
+
# per-action PR buys over reviewing one batch.
|
|
24
|
+
github-actions:
|
|
25
|
+
patterns: ["*"]
|
|
26
|
+
|
|
27
|
+
- package-ecosystem: "pip"
|
|
28
|
+
directory: "/"
|
|
29
|
+
schedule:
|
|
30
|
+
interval: "weekly"
|
|
31
|
+
# pyproject.toml pins runtime deps with a floor (">=") and a handful of
|
|
32
|
+
# explicit ceilings whose reasons are documented inline there (mcp,
|
|
33
|
+
# webauthn, starlette, uvicorn) -- Dependabot respects an existing
|
|
34
|
+
# upper bound and won't propose crossing it, so those comments stay the
|
|
35
|
+
# real gate on a major bump either way.
|
|
36
|
+
groups:
|
|
37
|
+
python-dependencies:
|
|
38
|
+
patterns: ["*"]
|
|
39
|
+
|
|
40
|
+
- package-ecosystem: "npm"
|
|
41
|
+
directory: "/mcpb/shim"
|
|
42
|
+
schedule:
|
|
43
|
+
interval: "weekly"
|
|
44
|
+
groups:
|
|
45
|
+
shim-dependencies:
|
|
46
|
+
patterns: ["*"]
|
|
47
|
+
|
|
48
|
+
- package-ecosystem: "npm"
|
|
49
|
+
directory: "/cloudflare/downloads"
|
|
50
|
+
schedule:
|
|
51
|
+
interval: "weekly"
|
|
52
|
+
groups:
|
|
53
|
+
# package.json's `overrides.vitest` pin routes around a known npm/arborist resolution bug
|
|
54
|
+
# in this exact dependency set (see deploy-download-worker.yml's "Install dependencies"
|
|
55
|
+
# step comment) -- batching keeps a Dependabot bump from reintroducing that mismatch across
|
|
56
|
+
# two separate PRs.
|
|
57
|
+
downloads-worker-dependencies:
|
|
58
|
+
patterns: ["*"]
|