###
Resource Requests

When a URL is loaded, it typically makes a number of resource requests for CCS, JavaScript, image, and other files. Details about these requests can be viewed in the Requests activity. The navigation drawer has a link to the Requests activity and also shows how many requests were blocked. Tapping on a request displays details about why it was allowed or blocked.

Privacy Browser includes four common filter lists based on the Adblock syntax: EasyList, EasyPrivacy, Fanboy’s Annoyance List, and Fanboy’s Social Blocking List. These filter lists are processed by Privacy Browser into the following 22 sublists, which check resource requests in the order listed.

1. Main Allow List
2. Final Allow List
3. Domain Allow List
4. Domain Initial Allow List
5. Domain Final Allow List
6. Third-Party Allow List
7. Third-Party Domain Allow List
8. Third-Party Domain Initial Allow List
9. Main Block List
10. Initial Block List
11. Final Block List
12. Domain Block List
13. Domain Initial Block List
14. Domain Final Block List
15. Domain Regular Expression Block List
16. Third-Party Block List
17. Third-Party Initial Block List
18. Third-Party Domain Block List
19. Third-Party Domain Initial Block List
20. Third-Party Regular Expression Block List
21. Third-Party Domain Regular Expression Block List
22. Regular Expression Block List

Initial lists check against the beginning of the URL. Final lists check against the end of the URL. Domain lists only check against certain domains. Third-party lists only apply if the root domain of the request is different than the root domain of the main URL. Regular expression lists follow the regular expression syntax. Each sublist item has one or more entry. In the case of domain sublists, the resource request is only checked against the item if the first entry matches the domain of the main URL.

Because of limitations in Android’s WebView, and to speed up processing of requests, Privacy Browser implements a simplified interpretation of the Adblock syntax. This can sometimes lead to false positives, where resources are allowed or blocked in ways that weren’t intended by the original entry. A more detailed description of how the filter list entries are processed is available at stoutner.com.

Privacy Browser has three additional filter lists. UltraList and UltraPrivacy filters ads and trackers that EasyList and EasyPrivacy do not. The third blocks all third-party requests. A request is only considered third-party if the base domain of the request is different than the base domain of the URL. For example, if `www.website.com` loads a picture from `images.website.com`, this is not blocked as a third-party request because they both share the same base domain of `website.com`. Blocking all third-party requests increases privacy, but this filter list is disabled by default because it breaks a large number of websites.