teknium1
30c417fe70
feat: add website blocklist enforcement for web/browser tools (#1064)
Adds security.website_blocklist config for user-managed domain blocking
across URL-capable tools. Enforced at the tool level (not monkey-patching)
so it's safe and predictable.
- tools/website_policy.py: shared policy loader with domain normalization,
wildcard support (*.tracking.example), shared file imports, and
structured block metadata
- web_extract: pre-fetch URL check + post-redirect recheck
- web_crawl: pre-crawl URL check + per-page URL recheck
- browser_navigate: pre-navigation URL check
- Blocked responses include blocked_by_policy metadata so the agent
can explain exactly what was denied
Config:
security:
website_blocklist:
enabled: true
domains: ["evil.com", "*.tracking.example"]
shared_files: ["team-blocklist.txt"]
Salvaged from PR #1086 by @kshitijk4poor. Browser post-redirect checks
deferred (browser_tool was fully rewritten since the PR branched).
Co-authored-by: kshitijk4poor <kshitijk4poor@users.noreply.github.com>
2026-03-17 02:59:39 -07:00
..
2026-03-16 05:19:36 -07:00
2026-03-16 12:36:29 -07:00
2026-03-16 23:48:14 -07:00
2026-03-14 14:27:20 +03:00
2026-03-17 02:53:30 -07:00
2026-03-17 02:51:40 -07:00
2026-03-12 16:23:34 -04:00
2026-03-15 05:20:17 -07:00
2026-03-14 22:11:34 -07:00
2026-03-17 02:59:39 -07:00
2025-10-01 23:29:25 +00:00
2026-03-17 02:02:33 -07:00
2026-03-17 02:53:33 -07:00
2026-03-14 02:33:31 -07:00
2026-03-10 15:22:44 -07:00
2026-03-17 01:50:59 -07:00
2026-03-12 01:23:28 -07:00
2026-03-15 08:02:29 -07:00
2026-03-14 11:03:20 -07:00
2026-03-16 22:53:32 -07:00
2026-03-17 01:07:11 +03:00
2026-03-14 19:38:55 -07:00
2026-03-14 19:38:55 -07:00
2026-03-17 02:40:34 -07:00
2026-03-14 22:31:51 -07:00
2026-03-14 22:31:51 -07:00
2026-03-01 19:59:24 -08:00
2026-03-02 17:18:15 +11:00
2026-03-14 21:11:37 -07:00
2026-03-13 23:59:12 -07:00
2026-03-14 11:57:44 -07:00
2026-03-14 06:31:32 -07:00
2026-03-17 02:53:33 -07:00
2026-03-10 17:31:00 -07:00
2026-03-15 19:03:34 -07:00
2026-03-16 04:34:45 -07:00
2026-03-13 21:53:54 -07:00
2026-03-14 21:28:51 -07:00
2026-03-17 02:05:26 -07:00
2026-03-14 19:33:59 -07:00
2026-03-16 12:36:29 -07:00
2026-03-14 21:19:22 -07:00
2026-03-13 03:14:04 -07:00
2026-03-14 15:00:45 +03:00
2026-03-16 06:43:57 -07:00
2026-03-17 02:05:26 -07:00
2026-03-08 20:22:33 -07:00
2026-03-13 21:34:01 -07:00
2026-03-17 05:06:11 +03:00
2026-03-15 08:02:29 -07:00
2026-03-09 21:01:40 -07:00
2026-03-15 21:59:53 -07:00
2026-03-01 19:59:24 -08:00
2026-03-11 21:38:29 -07:00
2026-03-09 02:19:32 -07:00
2026-03-11 21:06:54 -07:00
2026-03-15 04:01:56 -07:00
2026-03-01 03:12:37 -05:00
2026-03-16 04:42:48 -07:00
2026-03-17 02:53:33 -07:00
2026-03-17 02:53:33 -07:00
2026-03-13 21:56:12 -07:00
2026-03-13 23:39:51 -07:00
2026-03-10 17:12:34 -07:00
2026-03-05 18:46:30 -08:00
2026-03-16 06:35:46 -07:00
2026-03-09 17:31:54 +03:00
2026-03-16 07:17:36 -07:00
2026-03-17 00:12:16 -07:00
2026-03-17 02:53:33 -07:00
2026-03-17 02:53:33 -07:00
2026-03-12 05:38:19 -07:00
2026-03-12 08:35:45 -07:00
2026-03-08 17:45:45 -07:00
2026-03-17 02:04:36 -07:00
2026-03-16 06:35:46 -07:00
2026-03-17 02:13:26 -07:00
2026-03-13 04:42:26 +03:00
2026-03-16 06:15:09 -07:00
2026-03-16 23:48:14 -07:00
2026-03-14 06:19:28 -07:00
2026-02-26 13:54:20 +03:00
2026-03-09 23:27:19 -07:00
2026-03-14 11:03:25 -07:00
2026-03-14 21:51:27 -07:00
2026-03-14 21:51:27 -07:00