Search privacy tools
dp_search_toolsUse when a user wants privacy tool recommendations (VPNs, email, browsers, messengers, password managers, etc.). Matches records containing every query word, so 1–2 keywords such as 'vpn' or 'password manager' work and a full sentence usually returns nothing. For a whole kind of tool, use category instead (slugs from dp_list_categories). Put requirements in the filters; a filter matches only a sourced yes, so with a category it also returns picks_not_checked: that category's picks left out only because the field is unchecked, which the user should still hear about. Returns 10 records by default (up to 50 with limit), ordered DP picks first (in DP's order, within the category if one is given), then A to Z. A record has pick when Default Privacy recommends it as a starting point in a category (null otherwise; not a security guarantee). Records carry jurisdiction, logging, encryption, and dp_url (the record's Default Privacy page). A null field means Default Privacy has not checked it (never read null as no). For sources and caveats call dp_get_tool.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| e2ee | No | Only tools Default Privacy has confirmed end-to-end encrypted from a source. Tools it has not checked are left out (see picks_not_checked). | |
| sort | No | Sort order. Default 'picks': DP picks first, then A to Z. 'ado_score' is a deprecated alias of 'picks'. | |
| limit | No | Max results (1–50, default 10). | |
| query | No | 1–2 keywords matched against name, tagline, and description; every word must match. E.g. 'vpn', 'email', 'notes'. | |
| offset | No | Pagination offset (default 0). | |
| category | No | Category slug or name to filter by (see dp_list_categories). | |
| open_source | No | Only tools Default Privacy has confirmed open source from a source. Tools it has not checked are left out (see picks_not_checked). | |
| has_free_tier | No | Only tools Default Privacy has confirmed have a free tier. Tools it has not checked are left out (see picks_not_checked). |