A system for proxy-based privacy protection, comprising: one or more proxy servers, each of the proxy servers configured to execute code, each of the proxy servers comprising: a receipt module configured to receive from at least one computing device associated with a user one or more requests to provide a webpage stored on at least one target server; a retrieval module configured to, for each of the requests, retrieve the requested webpage from the target server; a parsing module configured to, for each of the retrieved webpages, parse the webpage into one or more elements wherein the one or more elements comprise at least one undesirable element, create a rendering of the webpage based on one or more of the parsed elements including the at least one undesired element; and identify visual components of the webpage that are present in the rendering, each visual component being a component which is visible in a browser accessing the webpage; a brower simulator configured to, interact with the rendered webpage; a representation module configured to, for each of the parsed webpages, create an intermediate representation of the parsed webpage reconstructed using one or more of the visual components identified in the rendering for the webpage without the at least one undesirable element for that webpage; a display module configured to, for each of the intermediate representations, provide by one of the proxy servers the intermediate representation to the computing device, wherein the computing device is configured to display a sanitized version of the webpage without the at least one undesired element comprising one or more of the visual components using the intermediate representation for that webpage. a receipt module configured to receive from at least one computing device associated with a user one or more requests to provide a webpage stored on at least one target server; a retrieval module configured to, for each of the requests, retrieve the requested webpage from the target server; a parsing module configured to, for each of the retrieved webpages, parse the webpage into one or more elements wherein the one or more elements comprise at least one undesirable element, create a rendering of the webpage based on one or more of the parsed elements including the at least one undesired element; and identify visual components of the webpage that are present in the rendering, each visual component being a component which is visible in a browser accessing the webpage; a brower simulator configured to, interact with the rendered webpage; a representation module configured to, for each of the parsed webpages, create an intermediate representation of the parsed webpage reconstructed using one or more of the visual components identified in the rendering for the webpage without the at least one undesirable element for that webpage; a display module configured to, for each of the intermediate representations, provide by one of the proxy servers the intermediate representation to the computing device, wherein the computing device is configured to display a sanitized version of the webpage without the at least one undesired element comprising one or more of the visual components using the intermediate representation for that webpage.