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.
Files changed (424) hide show
  1. privacyfence-4.0.0/.github/CODEOWNERS +2 -0
  2. privacyfence-4.0.0/.github/dependabot.yml +58 -0
  3. privacyfence-4.0.0/.github/workflows/build.yml +759 -0
  4. privacyfence-4.0.0/.github/workflows/connector-live-check.yml +185 -0
  5. privacyfence-4.0.0/.github/workflows/dependency-audit.yml +196 -0
  6. privacyfence-4.0.0/.github/workflows/deploy-download-worker.yml +123 -0
  7. privacyfence-4.0.0/.github/workflows/linux-graphical-session.yml +95 -0
  8. privacyfence-4.0.0/.github/workflows/pages.yml +92 -0
  9. privacyfence-4.0.0/.github/workflows/publish-pypi.yml +255 -0
  10. privacyfence-4.0.0/.github/workflows/qa-record-fixture.yml +188 -0
  11. privacyfence-4.0.0/.github/workflows/tests.yml +398 -0
  12. privacyfence-4.0.0/.github/workflows/windows-graphical-session.yml +98 -0
  13. privacyfence-4.0.0/.gitignore +86 -0
  14. privacyfence-4.0.0/CHANGELOG.md +692 -0
  15. privacyfence-4.0.0/CLAUDE.md +317 -0
  16. privacyfence-4.0.0/CONTRIBUTING.md +49 -0
  17. privacyfence-4.0.0/LICENSE +185 -0
  18. privacyfence-4.0.0/NOTICE +36 -0
  19. privacyfence-4.0.0/PKG-INFO +487 -0
  20. privacyfence-4.0.0/PrivacyFenceApp.linux.spec +114 -0
  21. privacyfence-4.0.0/PrivacyFenceApp.spec +120 -0
  22. privacyfence-4.0.0/PrivacyFenceApp.win.spec +117 -0
  23. privacyfence-4.0.0/README.md +437 -0
  24. privacyfence-4.0.0/SECURITY.md +107 -0
  25. privacyfence-4.0.0/cloudflare/downloads/migrations/0001_download_counts.sql +18 -0
  26. privacyfence-4.0.0/cloudflare/downloads/package-lock.json +3263 -0
  27. privacyfence-4.0.0/cloudflare/downloads/package.json +24 -0
  28. privacyfence-4.0.0/cloudflare/downloads/src/artifacts.ts +87 -0
  29. privacyfence-4.0.0/cloudflare/downloads/src/channel.ts +41 -0
  30. privacyfence-4.0.0/cloudflare/downloads/src/counters.ts +70 -0
  31. privacyfence-4.0.0/cloudflare/downloads/src/http.ts +47 -0
  32. privacyfence-4.0.0/cloudflare/downloads/src/index.ts +168 -0
  33. privacyfence-4.0.0/cloudflare/downloads/src/manifest.ts +71 -0
  34. privacyfence-4.0.0/cloudflare/downloads/test/artifacts.test.ts +57 -0
  35. privacyfence-4.0.0/cloudflare/downloads/test/channel.test.ts +32 -0
  36. privacyfence-4.0.0/cloudflare/downloads/test/counters.test.ts +57 -0
  37. privacyfence-4.0.0/cloudflare/downloads/test/download.test.ts +238 -0
  38. privacyfence-4.0.0/cloudflare/downloads/test/env.d.ts +12 -0
  39. privacyfence-4.0.0/cloudflare/downloads/test/fixtures/alpha/latest.json +4 -0
  40. privacyfence-4.0.0/cloudflare/downloads/test/fixtures/alpha/manifest.json +18 -0
  41. privacyfence-4.0.0/cloudflare/downloads/test/fixtures/beta/latest.json +4 -0
  42. privacyfence-4.0.0/cloudflare/downloads/test/fixtures/beta/manifest.json +18 -0
  43. privacyfence-4.0.0/cloudflare/downloads/test/fixtures/rc/latest.json +4 -0
  44. privacyfence-4.0.0/cloudflare/downloads/test/fixtures/rc/manifest.json +18 -0
  45. privacyfence-4.0.0/cloudflare/downloads/test/fixtures/stable/latest.json +4 -0
  46. privacyfence-4.0.0/cloudflare/downloads/test/fixtures/stable/manifest.json +38 -0
  47. privacyfence-4.0.0/cloudflare/downloads/test/fixtures/stable/old-manifest.json +18 -0
  48. privacyfence-4.0.0/cloudflare/downloads/test/setup.ts +53 -0
  49. privacyfence-4.0.0/cloudflare/downloads/tsconfig.json +17 -0
  50. privacyfence-4.0.0/cloudflare/downloads/vitest.config.ts +20 -0
  51. privacyfence-4.0.0/cloudflare/downloads/worker-configuration.d.ts +16 -0
  52. privacyfence-4.0.0/cloudflare/downloads/wrangler.toml +35 -0
  53. privacyfence-4.0.0/com.privacyfence.app.plist +53 -0
  54. privacyfence-4.0.0/credentials/.gitkeep +0 -0
  55. privacyfence-4.0.0/debian/control +29 -0
  56. privacyfence-4.0.0/debian/copyright +15 -0
  57. privacyfence-4.0.0/debian/install +34 -0
  58. privacyfence-4.0.0/debian/postinst +31 -0
  59. privacyfence-4.0.0/debian/postrm +35 -0
  60. privacyfence-4.0.0/debian/prerm +24 -0
  61. privacyfence-4.0.0/debian/privacyfence.lintian-overrides +27 -0
  62. privacyfence-4.0.0/debian/rules +50 -0
  63. privacyfence-4.0.0/debian/source/format +1 -0
  64. privacyfence-4.0.0/docs/README.md +66 -0
  65. privacyfence-4.0.0/docs/TECHNICAL_REFERENCE.md +1116 -0
  66. privacyfence-4.0.0/docs/adr/0001-remove-macos-native-extra.md +27 -0
  67. privacyfence-4.0.0/docs/always-allow-rules-reference.md +378 -0
  68. privacyfence-4.0.0/docs/approval-list-ui-ux.md +67 -0
  69. privacyfence-4.0.0/docs/approval-window-content-reference.md +59 -0
  70. privacyfence-4.0.0/docs/atlassian-setup.md +137 -0
  71. privacyfence-4.0.0/docs/claude-knowledge-boundary.md +72 -0
  72. privacyfence-4.0.0/docs/coding-and-testing-guidelines.md +351 -0
  73. privacyfence-4.0.0/docs/connector-live-check-setup.md +104 -0
  74. privacyfence-4.0.0/docs/connector-qa-testing.md +105 -0
  75. privacyfence-4.0.0/docs/dev-vs-live-setup.md +53 -0
  76. privacyfence-4.0.0/docs/downloads-and-release-kpi.md +272 -0
  77. privacyfence-4.0.0/docs/file-type-support.md +57 -0
  78. privacyfence-4.0.0/docs/google-cloud-setup.md +194 -0
  79. privacyfence-4.0.0/docs/images/architecture.svg +114 -0
  80. privacyfence-4.0.0/docs/images/screenshots/README.md +26 -0
  81. privacyfence-4.0.0/docs/images/screenshots/gmail-read-thread.png +0 -0
  82. privacyfence-4.0.0/docs/images/screenshots/settings-auto-accept-rules.png +0 -0
  83. privacyfence-4.0.0/docs/images/screenshots/settings-connectors.png +0 -0
  84. privacyfence-4.0.0/docs/images/screenshots/sheets-write.png +0 -0
  85. privacyfence-4.0.0/docs/org-mode-download-delivery.md +48 -0
  86. privacyfence-4.0.0/docs/org-mode-operational-readiness.md +108 -0
  87. privacyfence-4.0.0/docs/org-mode-setup-guide.md +179 -0
  88. privacyfence-4.0.0/docs/pii-detection-keywords.md +95 -0
  89. privacyfence-4.0.0/docs/platform-support.md +242 -0
  90. privacyfence-4.0.0/docs/qa-environment-setup.md +69 -0
  91. privacyfence-4.0.0/docs/release-testing.md +40 -0
  92. privacyfence-4.0.0/docs/salesforce-setup.md +102 -0
  93. privacyfence-4.0.0/docs/security-and-compliance.md +241 -0
  94. privacyfence-4.0.0/docs/slack-setup.md +130 -0
  95. privacyfence-4.0.0/docs/telegram-setup.md +91 -0
  96. privacyfence-4.0.0/docs/testing-policy.md +521 -0
  97. privacyfence-4.0.0/installer/privacyfence-task.xml.tmpl +167 -0
  98. privacyfence-4.0.0/installer/privacyfence.iss +387 -0
  99. privacyfence-4.0.0/mcpb/manifest.json.tmpl +25 -0
  100. privacyfence-4.0.0/mcpb/shim/build.mjs +23 -0
  101. privacyfence-4.0.0/mcpb/shim/package-lock.json +1754 -0
  102. privacyfence-4.0.0/mcpb/shim/package.json +22 -0
  103. privacyfence-4.0.0/mcpb/shim/src/daemon.ts +330 -0
  104. privacyfence-4.0.0/mcpb/shim/src/errors.ts +17 -0
  105. privacyfence-4.0.0/mcpb/shim/src/index.ts +189 -0
  106. privacyfence-4.0.0/mcpb/shim/src/protocol.ts +67 -0
  107. privacyfence-4.0.0/mcpb/shim/src/proxy.ts +114 -0
  108. privacyfence-4.0.0/mcpb/shim/src/sessionFetch.ts +57 -0
  109. privacyfence-4.0.0/mcpb/shim/test/daemon.test.ts +433 -0
  110. privacyfence-4.0.0/mcpb/shim/test/fakeMcpDaemon.ts +69 -0
  111. privacyfence-4.0.0/mcpb/shim/test/index.test.ts +96 -0
  112. privacyfence-4.0.0/mcpb/shim/test/protocol.test.ts +85 -0
  113. privacyfence-4.0.0/mcpb/shim/test/proxy.test.ts +176 -0
  114. privacyfence-4.0.0/mcpb/shim/test/sessionFetch.test.ts +57 -0
  115. privacyfence-4.0.0/mcpb/shim/test/testFiles.ts +59 -0
  116. privacyfence-4.0.0/mcpb/shim/tsconfig.json +19 -0
  117. privacyfence-4.0.0/privacyfence.service +56 -0
  118. privacyfence-4.0.0/pyproject.toml +326 -0
  119. privacyfence-4.0.0/requirements/README.md +42 -0
  120. privacyfence-4.0.0/requirements/dev.lock.txt +2306 -0
  121. privacyfence-4.0.0/requirements/runtime.lock.txt +1342 -0
  122. privacyfence-4.0.0/resources/linux/privacyfence-app-wrapper +14 -0
  123. privacyfence-4.0.0/resources/linux/privacyfence.desktop +18 -0
  124. privacyfence-4.0.0/scripts/build_deb.sh +301 -0
  125. privacyfence-4.0.0/scripts/build_dmg.sh +172 -0
  126. privacyfence-4.0.0/scripts/build_installer.ps1 +192 -0
  127. privacyfence-4.0.0/scripts/build_mcpb.sh +81 -0
  128. privacyfence-4.0.0/scripts/build_org_bundle.py +665 -0
  129. privacyfence-4.0.0/scripts/changelog_section.py +239 -0
  130. privacyfence-4.0.0/scripts/check_coverage_floor.py +175 -0
  131. privacyfence-4.0.0/scripts/dev_start.sh +104 -0
  132. privacyfence-4.0.0/scripts/entitlements.plist +25 -0
  133. privacyfence-4.0.0/scripts/pre_release_check.py +106 -0
  134. privacyfence-4.0.0/scripts/pyinstaller_common.py +86 -0
  135. privacyfence-4.0.0/scripts/qa_authenticate_connectors.py +198 -0
  136. privacyfence-4.0.0/scripts/qa_fixture_recorder.py +2107 -0
  137. privacyfence-4.0.0/scripts/qa_list_ids.py +88 -0
  138. privacyfence-4.0.0/scripts/qa_readme_screenshots.py +143 -0
  139. privacyfence-4.0.0/scripts/qa_web_smoke.py +238 -0
  140. privacyfence-4.0.0/scripts/r2_release.py +455 -0
  141. privacyfence-4.0.0/scripts/release_stats.py +107 -0
  142. privacyfence-4.0.0/scripts/slack_call_budget.py +253 -0
  143. privacyfence-4.0.0/scripts/sync_room_directory.py +414 -0
  144. privacyfence-4.0.0/scripts/update_branch_protection.py +303 -0
  145. privacyfence-4.0.0/scripts/update_dependency_locks.sh +88 -0
  146. privacyfence-4.0.0/scripts/verify_audit_log.py +98 -0
  147. privacyfence-4.0.0/setup.cfg +4 -0
  148. privacyfence-4.0.0/src/_daemon_entry.py +26 -0
  149. privacyfence-4.0.0/src/privacyfence/__init__.py +17 -0
  150. privacyfence-4.0.0/src/privacyfence/app_credentials.py +30 -0
  151. privacyfence-4.0.0/src/privacyfence/approval_icons.py +58 -0
  152. privacyfence-4.0.0/src/privacyfence/approval_list_html.py +285 -0
  153. privacyfence-4.0.0/src/privacyfence/approval_ui.py +167 -0
  154. privacyfence-4.0.0/src/privacyfence/approval_window_html.py +919 -0
  155. privacyfence-4.0.0/src/privacyfence/approvals.py +649 -0
  156. privacyfence-4.0.0/src/privacyfence/apps_script_client.py +337 -0
  157. privacyfence-4.0.0/src/privacyfence/atlassian_oauth.py +268 -0
  158. privacyfence-4.0.0/src/privacyfence/audit_forwarding.py +229 -0
  159. privacyfence-4.0.0/src/privacyfence/audit_log.py +855 -0
  160. privacyfence-4.0.0/src/privacyfence/auto_accept.py +1712 -0
  161. privacyfence-4.0.0/src/privacyfence/calendar_client.py +741 -0
  162. privacyfence-4.0.0/src/privacyfence/card_builder.py +138 -0
  163. privacyfence-4.0.0/src/privacyfence/confluence_client.py +630 -0
  164. privacyfence-4.0.0/src/privacyfence/connector.py +90 -0
  165. privacyfence-4.0.0/src/privacyfence/connector_host.py +60 -0
  166. privacyfence-4.0.0/src/privacyfence/connector_registry.py +156 -0
  167. privacyfence-4.0.0/src/privacyfence/connectors/__init__.py +2 -0
  168. privacyfence-4.0.0/src/privacyfence/connectors/apps_script.py +316 -0
  169. privacyfence-4.0.0/src/privacyfence/connectors/calendar.py +765 -0
  170. privacyfence-4.0.0/src/privacyfence/connectors/confluence.py +652 -0
  171. privacyfence-4.0.0/src/privacyfence/connectors/contacts.py +422 -0
  172. privacyfence-4.0.0/src/privacyfence/connectors/drive.py +1721 -0
  173. privacyfence-4.0.0/src/privacyfence/connectors/gmail.py +1421 -0
  174. privacyfence-4.0.0/src/privacyfence/connectors/jira.py +447 -0
  175. privacyfence-4.0.0/src/privacyfence/connectors/salesforce.py +434 -0
  176. privacyfence-4.0.0/src/privacyfence/connectors/slack.py +730 -0
  177. privacyfence-4.0.0/src/privacyfence/connectors/tasks.py +380 -0
  178. privacyfence-4.0.0/src/privacyfence/connectors/telegram.py +304 -0
  179. privacyfence-4.0.0/src/privacyfence/contacts_client.py +677 -0
  180. privacyfence-4.0.0/src/privacyfence/daemon_main.py +1718 -0
  181. privacyfence-4.0.0/src/privacyfence/dialog_window_html.py +267 -0
  182. privacyfence-4.0.0/src/privacyfence/download_staging.py +295 -0
  183. privacyfence-4.0.0/src/privacyfence/drive_client.py +2681 -0
  184. privacyfence-4.0.0/src/privacyfence/email_markdown.py +169 -0
  185. privacyfence-4.0.0/src/privacyfence/gate.py +1337 -0
  186. privacyfence-4.0.0/src/privacyfence/gmail_client.py +1261 -0
  187. privacyfence-4.0.0/src/privacyfence/google_oauth.py +183 -0
  188. privacyfence-4.0.0/src/privacyfence/html_to_text.py +250 -0
  189. privacyfence-4.0.0/src/privacyfence/jira_client.py +457 -0
  190. privacyfence-4.0.0/src/privacyfence/markdown_to_html.py +134 -0
  191. privacyfence-4.0.0/src/privacyfence/oauth_loopback.py +205 -0
  192. privacyfence-4.0.0/src/privacyfence/org_bundle_signing.py +255 -0
  193. privacyfence-4.0.0/src/privacyfence/org_identity.py +369 -0
  194. privacyfence-4.0.0/src/privacyfence/org_mode.py +404 -0
  195. privacyfence-4.0.0/src/privacyfence/paths.py +222 -0
  196. privacyfence-4.0.0/src/privacyfence/pii_detector.py +447 -0
  197. privacyfence-4.0.0/src/privacyfence/principal.py +191 -0
  198. privacyfence-4.0.0/src/privacyfence/privacy_filter.py +223 -0
  199. privacyfence-4.0.0/src/privacyfence/resource_grants.py +626 -0
  200. privacyfence-4.0.0/src/privacyfence/resource_names.py +134 -0
  201. privacyfence-4.0.0/src/privacyfence/resources/approval_window/fonts/OFL.txt +93 -0
  202. privacyfence-4.0.0/src/privacyfence/resources/approval_window/fonts/SourceSerif4-Italic.woff2 +0 -0
  203. privacyfence-4.0.0/src/privacyfence/resources/approval_window/fonts/SourceSerif4-Regular.woff2 +0 -0
  204. privacyfence-4.0.0/src/privacyfence/resources/approval_window/fonts/SourceSerif4-SemiBold.woff2 +0 -0
  205. privacyfence-4.0.0/src/privacyfence/resources/approval_window/styles.css +447 -0
  206. privacyfence-4.0.0/src/privacyfence/resources/connector_icons/README.md +47 -0
  207. privacyfence-4.0.0/src/privacyfence/resources/connector_icons/calendar.png +0 -0
  208. privacyfence-4.0.0/src/privacyfence/resources/connector_icons/confluence.png +0 -0
  209. privacyfence-4.0.0/src/privacyfence/resources/connector_icons/contacts.png +0 -0
  210. privacyfence-4.0.0/src/privacyfence/resources/connector_icons/drive.png +0 -0
  211. privacyfence-4.0.0/src/privacyfence/resources/connector_icons/gmail.png +0 -0
  212. privacyfence-4.0.0/src/privacyfence/resources/connector_icons/jira.png +0 -0
  213. privacyfence-4.0.0/src/privacyfence/resources/connector_icons/salesforce.png +0 -0
  214. privacyfence-4.0.0/src/privacyfence/resources/connector_icons/slack.png +0 -0
  215. privacyfence-4.0.0/src/privacyfence/resources/connector_icons/tasks.png +0 -0
  216. privacyfence-4.0.0/src/privacyfence/resources/connector_icons/telegram.png +0 -0
  217. privacyfence-4.0.0/src/privacyfence/resources/icon_32.png +0 -0
  218. privacyfence-4.0.0/src/privacyfence/resources/icon_512.png +0 -0
  219. privacyfence-4.0.0/src/privacyfence/resources/icon_64.png +0 -0
  220. privacyfence-4.0.0/src/privacyfence/resources/icon_menubar.png +0 -0
  221. privacyfence-4.0.0/src/privacyfence/resources/settings.yaml.example +290 -0
  222. privacyfence-4.0.0/src/privacyfence/resources/sw.js +43 -0
  223. privacyfence-4.0.0/src/privacyfence/resources/tokens.css +119 -0
  224. privacyfence-4.0.0/src/privacyfence/safe_errors.py +183 -0
  225. privacyfence-4.0.0/src/privacyfence/salesforce_client.py +427 -0
  226. privacyfence-4.0.0/src/privacyfence/secure_files.py +202 -0
  227. privacyfence-4.0.0/src/privacyfence/settings_controller.py +1892 -0
  228. privacyfence-4.0.0/src/privacyfence/settings_window_html.py +1270 -0
  229. privacyfence-4.0.0/src/privacyfence/slack_client.py +1778 -0
  230. privacyfence-4.0.0/src/privacyfence/std_streams.py +62 -0
  231. privacyfence-4.0.0/src/privacyfence/tasks_client.py +345 -0
  232. privacyfence-4.0.0/src/privacyfence/telegram_auth.py +73 -0
  233. privacyfence-4.0.0/src/privacyfence/telegram_client.py +596 -0
  234. privacyfence-4.0.0/src/privacyfence/text_extraction.py +450 -0
  235. privacyfence-4.0.0/src/privacyfence/update_checker.py +253 -0
  236. privacyfence-4.0.0/src/privacyfence/url_safety.py +34 -0
  237. privacyfence-4.0.0/src/privacyfence/web/__init__.py +13 -0
  238. privacyfence-4.0.0/src/privacyfence/web/csp.py +125 -0
  239. privacyfence-4.0.0/src/privacyfence/web/mcp_auth.py +99 -0
  240. privacyfence-4.0.0/src/privacyfence/web/mcp_dispatch.py +665 -0
  241. privacyfence-4.0.0/src/privacyfence/web/mcp_tools.py +377 -0
  242. privacyfence-4.0.0/src/privacyfence/web/oauth_provider.py +557 -0
  243. privacyfence-4.0.0/src/privacyfence/web/org_session.py +212 -0
  244. privacyfence-4.0.0/src/privacyfence/web/routes_approvals.py +335 -0
  245. privacyfence-4.0.0/src/privacyfence/web/routes_connect.py +672 -0
  246. privacyfence-4.0.0/src/privacyfence/web/routes_downloads.py +141 -0
  247. privacyfence-4.0.0/src/privacyfence/web/routes_mcp.py +509 -0
  248. privacyfence-4.0.0/src/privacyfence/web/routes_org_approvals.py +474 -0
  249. privacyfence-4.0.0/src/privacyfence/web/routes_org_identity.py +205 -0
  250. privacyfence-4.0.0/src/privacyfence/web/routes_security.py +316 -0
  251. privacyfence-4.0.0/src/privacyfence/web/routes_settings.py +392 -0
  252. privacyfence-4.0.0/src/privacyfence/web/server.py +993 -0
  253. privacyfence-4.0.0/src/privacyfence/web/session_auth.py +337 -0
  254. privacyfence-4.0.0/src/privacyfence/web/state_stream.py +191 -0
  255. privacyfence-4.0.0/src/privacyfence/web_approval_ui.py +205 -0
  256. privacyfence-4.0.0/src/privacyfence/web_prompt.py +76 -0
  257. privacyfence-4.0.0/src/privacyfence/web_shell.py +382 -0
  258. privacyfence-4.0.0/src/privacyfence/webauthn_stepup.py +417 -0
  259. privacyfence-4.0.0/src/privacyfence.egg-info/PKG-INFO +487 -0
  260. privacyfence-4.0.0/src/privacyfence.egg-info/SOURCES.txt +422 -0
  261. privacyfence-4.0.0/src/privacyfence.egg-info/dependency_links.txt +1 -0
  262. privacyfence-4.0.0/src/privacyfence.egg-info/entry_points.txt +2 -0
  263. privacyfence-4.0.0/src/privacyfence.egg-info/requires.txt +41 -0
  264. privacyfence-4.0.0/src/privacyfence.egg-info/scm_file_list.json +418 -0
  265. privacyfence-4.0.0/src/privacyfence.egg-info/scm_version.json +8 -0
  266. privacyfence-4.0.0/src/privacyfence.egg-info/top_level.txt +1 -0
  267. privacyfence-4.0.0/tests/__init__.py +0 -0
  268. privacyfence-4.0.0/tests/conftest.py +104 -0
  269. privacyfence-4.0.0/tests/diagnostics.py +198 -0
  270. privacyfence-4.0.0/tests/fixtures/live/README.md +17 -0
  271. privacyfence-4.0.0/tests/fixtures/live/apps_script/get_content.json +39 -0
  272. privacyfence-4.0.0/tests/fixtures/live/calendar/get_event.json +33 -0
  273. privacyfence-4.0.0/tests/fixtures/live/confluence/get_page.json +34 -0
  274. privacyfence-4.0.0/tests/fixtures/live/confluence/list_spaces.json +29 -0
  275. privacyfence-4.0.0/tests/fixtures/live/contacts/get_contact.json +73 -0
  276. privacyfence-4.0.0/tests/fixtures/live/drive/get_file_metadata.json +17 -0
  277. privacyfence-4.0.0/tests/fixtures/live/gmail/get_message.json +82 -0
  278. privacyfence-4.0.0/tests/fixtures/live/jira/get_issue.json +171 -0
  279. privacyfence-4.0.0/tests/fixtures/live/jira/list_projects.json +22 -0
  280. privacyfence-4.0.0/tests/fixtures/live/salesforce/get_record.json +76 -0
  281. privacyfence-4.0.0/tests/fixtures/live/salesforce/list_reports.json +17 -0
  282. privacyfence-4.0.0/tests/fixtures/live/slack/get_thread_replies.json +96 -0
  283. privacyfence-4.0.0/tests/fixtures/live/tasks/get_task.json +13 -0
  284. privacyfence-4.0.0/tests/fixtures/live/telegram/get_messages.json +60 -0
  285. privacyfence-4.0.0/tests/fixtures/qa_assets/lorem_ipsum.docx +0 -0
  286. privacyfence-4.0.0/tests/fixtures/qa_environment.yaml.example +142 -0
  287. privacyfence-4.0.0/tests/helpers.py +120 -0
  288. privacyfence-4.0.0/tests/integration/__init__.py +1 -0
  289. privacyfence-4.0.0/tests/integration/mock_idp.py +199 -0
  290. privacyfence-4.0.0/tests/integration/test_browser_smoke.py +1170 -0
  291. privacyfence-4.0.0/tests/integration/test_deb_packaged_lifecycle.py +626 -0
  292. privacyfence-4.0.0/tests/integration/test_deferred_approval_round_trip.py +231 -0
  293. privacyfence-4.0.0/tests/integration/test_download_page.py +374 -0
  294. privacyfence-4.0.0/tests/integration/test_linux_graphical_session_autostart.py +517 -0
  295. privacyfence-4.0.0/tests/integration/test_macos_packaged_smoke.py +774 -0
  296. privacyfence-4.0.0/tests/integration/test_mcp_daemon_contract.py +212 -0
  297. privacyfence-4.0.0/tests/integration/test_org_ubuntu_release_smoke.py +1012 -0
  298. privacyfence-4.0.0/tests/integration/test_shim_mcp_contract.py +228 -0
  299. privacyfence-4.0.0/tests/integration/test_windows_graphical_session_autostart.py +798 -0
  300. privacyfence-4.0.0/tests/integration/test_windows_packaged_smoke.py +655 -0
  301. privacyfence-4.0.0/tests/platform/__init__.py +0 -0
  302. privacyfence-4.0.0/tests/platform/test_atomic_write_concurrency.py +103 -0
  303. privacyfence-4.0.0/tests/platform/test_browser_launch_default.py +105 -0
  304. privacyfence-4.0.0/tests/platform/test_daemon_process_lifecycle.py +231 -0
  305. privacyfence-4.0.0/tests/platform/test_single_instance_lock_cross_process.py +119 -0
  306. privacyfence-4.0.0/tests/system/__init__.py +0 -0
  307. privacyfence-4.0.0/tests/system/test_local_mode_system.py +536 -0
  308. privacyfence-4.0.0/tests/unit/__init__.py +0 -0
  309. privacyfence-4.0.0/tests/unit/abuse/__init__.py +0 -0
  310. privacyfence-4.0.0/tests/unit/abuse/test_abuse_audit_export.py +123 -0
  311. privacyfence-4.0.0/tests/unit/abuse/test_abuse_markdown_rendering.py +146 -0
  312. privacyfence-4.0.0/tests/unit/abuse/test_abuse_mcp_error_taxonomy.py +175 -0
  313. privacyfence-4.0.0/tests/unit/connectors/__init__.py +0 -0
  314. privacyfence-4.0.0/tests/unit/connectors/test_apps_script_connector.py +326 -0
  315. privacyfence-4.0.0/tests/unit/connectors/test_calendar_connector.py +795 -0
  316. privacyfence-4.0.0/tests/unit/connectors/test_confluence_connector.py +865 -0
  317. privacyfence-4.0.0/tests/unit/connectors/test_contacts_connector.py +452 -0
  318. privacyfence-4.0.0/tests/unit/connectors/test_drive_connector.py +1930 -0
  319. privacyfence-4.0.0/tests/unit/connectors/test_gmail_connector.py +1539 -0
  320. privacyfence-4.0.0/tests/unit/connectors/test_jira_connector.py +557 -0
  321. privacyfence-4.0.0/tests/unit/connectors/test_readme_manifest_alignment.py +162 -0
  322. privacyfence-4.0.0/tests/unit/connectors/test_salesforce_connector.py +545 -0
  323. privacyfence-4.0.0/tests/unit/connectors/test_slack_connector.py +918 -0
  324. privacyfence-4.0.0/tests/unit/connectors/test_tasks_connector.py +415 -0
  325. privacyfence-4.0.0/tests/unit/connectors/test_telegram_connector.py +326 -0
  326. privacyfence-4.0.0/tests/unit/test_app_credentials.py +86 -0
  327. privacyfence-4.0.0/tests/unit/test_approval_icons.py +45 -0
  328. privacyfence-4.0.0/tests/unit/test_approval_list_html.py +78 -0
  329. privacyfence-4.0.0/tests/unit/test_approval_ui.py +100 -0
  330. privacyfence-4.0.0/tests/unit/test_approval_window_html.py +780 -0
  331. privacyfence-4.0.0/tests/unit/test_approvals.py +671 -0
  332. privacyfence-4.0.0/tests/unit/test_apps_script_client.py +537 -0
  333. privacyfence-4.0.0/tests/unit/test_atlassian_oauth.py +396 -0
  334. privacyfence-4.0.0/tests/unit/test_audit_forwarding.py +277 -0
  335. privacyfence-4.0.0/tests/unit/test_audit_log.py +791 -0
  336. privacyfence-4.0.0/tests/unit/test_auto_accept.py +2192 -0
  337. privacyfence-4.0.0/tests/unit/test_build_org_bundle.py +361 -0
  338. privacyfence-4.0.0/tests/unit/test_calendar_client.py +1062 -0
  339. privacyfence-4.0.0/tests/unit/test_card_builder.py +127 -0
  340. privacyfence-4.0.0/tests/unit/test_changelog_section.py +286 -0
  341. privacyfence-4.0.0/tests/unit/test_confluence_client.py +791 -0
  342. privacyfence-4.0.0/tests/unit/test_connector.py +70 -0
  343. privacyfence-4.0.0/tests/unit/test_connector_registry.py +187 -0
  344. privacyfence-4.0.0/tests/unit/test_contacts_client.py +950 -0
  345. privacyfence-4.0.0/tests/unit/test_daemon_main.py +2804 -0
  346. privacyfence-4.0.0/tests/unit/test_daemon_std_streams.py +91 -0
  347. privacyfence-4.0.0/tests/unit/test_dialog_window_html.py +194 -0
  348. privacyfence-4.0.0/tests/unit/test_docs_links.py +115 -0
  349. privacyfence-4.0.0/tests/unit/test_download_staging.py +223 -0
  350. privacyfence-4.0.0/tests/unit/test_drive_client.py +3673 -0
  351. privacyfence-4.0.0/tests/unit/test_email_markdown.py +123 -0
  352. privacyfence-4.0.0/tests/unit/test_gate.py +2804 -0
  353. privacyfence-4.0.0/tests/unit/test_gate_real_evaluator.py +829 -0
  354. privacyfence-4.0.0/tests/unit/test_gmail_client.py +1844 -0
  355. privacyfence-4.0.0/tests/unit/test_google_oauth.py +201 -0
  356. privacyfence-4.0.0/tests/unit/test_html_to_text.py +213 -0
  357. privacyfence-4.0.0/tests/unit/test_jira_client.py +682 -0
  358. privacyfence-4.0.0/tests/unit/test_markdown_to_html.py +140 -0
  359. privacyfence-4.0.0/tests/unit/test_oauth_loopback.py +306 -0
  360. privacyfence-4.0.0/tests/unit/test_org_bundle_signing.py +149 -0
  361. privacyfence-4.0.0/tests/unit/test_org_identity.py +457 -0
  362. privacyfence-4.0.0/tests/unit/test_org_mode.py +323 -0
  363. privacyfence-4.0.0/tests/unit/test_p6_principal_isolation.py +202 -0
  364. privacyfence-4.0.0/tests/unit/test_parser_properties.py +168 -0
  365. privacyfence-4.0.0/tests/unit/test_paths.py +369 -0
  366. privacyfence-4.0.0/tests/unit/test_pii_detector.py +527 -0
  367. privacyfence-4.0.0/tests/unit/test_pre_release_check.py +35 -0
  368. privacyfence-4.0.0/tests/unit/test_principal.py +211 -0
  369. privacyfence-4.0.0/tests/unit/test_privacy_filter.py +202 -0
  370. privacyfence-4.0.0/tests/unit/test_qa_authenticate_connectors.py +98 -0
  371. privacyfence-4.0.0/tests/unit/test_qa_fixture_recorder.py +2347 -0
  372. privacyfence-4.0.0/tests/unit/test_r2_release.py +331 -0
  373. privacyfence-4.0.0/tests/unit/test_release_stats.py +153 -0
  374. privacyfence-4.0.0/tests/unit/test_resource_grants.py +695 -0
  375. privacyfence-4.0.0/tests/unit/test_resource_names.py +155 -0
  376. privacyfence-4.0.0/tests/unit/test_safe_errors.py +181 -0
  377. privacyfence-4.0.0/tests/unit/test_salesforce_client.py +708 -0
  378. privacyfence-4.0.0/tests/unit/test_secure_files.py +325 -0
  379. privacyfence-4.0.0/tests/unit/test_settings_controller.py +1950 -0
  380. privacyfence-4.0.0/tests/unit/test_settings_window_html.py +428 -0
  381. privacyfence-4.0.0/tests/unit/test_slack_client.py +2308 -0
  382. privacyfence-4.0.0/tests/unit/test_sync_room_directory.py +483 -0
  383. privacyfence-4.0.0/tests/unit/test_systemic_gate_invariants.py +293 -0
  384. privacyfence-4.0.0/tests/unit/test_tasks_client.py +575 -0
  385. privacyfence-4.0.0/tests/unit/test_telegram_auth.py +94 -0
  386. privacyfence-4.0.0/tests/unit/test_telegram_client.py +801 -0
  387. privacyfence-4.0.0/tests/unit/test_text_extraction.py +499 -0
  388. privacyfence-4.0.0/tests/unit/test_update_branch_protection.py +378 -0
  389. privacyfence-4.0.0/tests/unit/test_update_checker.py +408 -0
  390. privacyfence-4.0.0/tests/unit/test_url_safety.py +56 -0
  391. privacyfence-4.0.0/tests/unit/test_verify_audit_log.py +112 -0
  392. privacyfence-4.0.0/tests/unit/test_web_approval_ui.py +265 -0
  393. privacyfence-4.0.0/tests/unit/test_web_prompt.py +151 -0
  394. privacyfence-4.0.0/tests/unit/test_web_shell.py +180 -0
  395. privacyfence-4.0.0/tests/unit/test_webauthn_stepup.py +272 -0
  396. privacyfence-4.0.0/tests/unit/test_website_download_cta.py +80 -0
  397. privacyfence-4.0.0/tests/unit/test_windows_autostart_task_template.py +83 -0
  398. privacyfence-4.0.0/tests/unit/web/__init__.py +0 -0
  399. privacyfence-4.0.0/tests/unit/web/test_csp.py +52 -0
  400. privacyfence-4.0.0/tests/unit/web/test_mcp_auth.py +50 -0
  401. privacyfence-4.0.0/tests/unit/web/test_mcp_dispatch.py +814 -0
  402. privacyfence-4.0.0/tests/unit/web/test_mcp_tools.py +417 -0
  403. privacyfence-4.0.0/tests/unit/web/test_oauth_provider.py +530 -0
  404. privacyfence-4.0.0/tests/unit/web/test_org_mcp_e2e.py +272 -0
  405. privacyfence-4.0.0/tests/unit/web/test_org_session.py +217 -0
  406. privacyfence-4.0.0/tests/unit/web/test_routes_approvals.py +406 -0
  407. privacyfence-4.0.0/tests/unit/web/test_routes_connect.py +356 -0
  408. privacyfence-4.0.0/tests/unit/web/test_routes_downloads.py +176 -0
  409. privacyfence-4.0.0/tests/unit/web/test_routes_mcp.py +576 -0
  410. privacyfence-4.0.0/tests/unit/web/test_routes_mcp_principal.py +83 -0
  411. privacyfence-4.0.0/tests/unit/web/test_routes_org_approvals.py +481 -0
  412. privacyfence-4.0.0/tests/unit/web/test_routes_org_identity.py +294 -0
  413. privacyfence-4.0.0/tests/unit/web/test_routes_security.py +321 -0
  414. privacyfence-4.0.0/tests/unit/web/test_routes_settings.py +470 -0
  415. privacyfence-4.0.0/tests/unit/web/test_server.py +960 -0
  416. privacyfence-4.0.0/tests/unit/web/test_server_org_mode.py +376 -0
  417. privacyfence-4.0.0/tests/unit/web/test_session_auth.py +371 -0
  418. privacyfence-4.0.0/tests/unit/web/test_state_stream.py +206 -0
  419. privacyfence-4.0.0/tests/windows_task_contract.py +180 -0
  420. privacyfence-4.0.0/website/download/download.js +198 -0
  421. privacyfence-4.0.0/website/download/index.html +91 -0
  422. privacyfence-4.0.0/website/index.html +157 -0
  423. privacyfence-4.0.0/website/stats.js +47 -0
  424. privacyfence-4.0.0/website/styles.css +191 -0
@@ -0,0 +1,2 @@
1
+ # All files require review from the repository owner.
2
+ * @andras-tkcs
@@ -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: ["*"]