Announcing our new deadline sequence.
Grant
Fund: NGI0 Commons Fund
Start: 2026-08
More projects like this
NGI0 Commons Fund

SurfJS

Real-Time and Context-Agnostic Surrogate Functionalities for Privacy Invasive JavaScript

SurfJS is a privacy enhancing browser extension that offers real-time, script-agnostic and obfuscation-resilient surrogate functionalities for privacy invasive JavaScript. Currently, existing content blocking tools rely on replacing entire scripts with surrogate counterparts, so as to prevent webpage breakage and preserve privacy. However, this approach entails certain limitations, such as script replacements being bound to specific script versions and necessitating constant updates, may become obsolete and cause breakage, and typically require significant and possibly error-prone manual effort to author. SurfJS will tackle these issues by adopting a fine-grained, dynamic approach of selectively instrumenting and replacing privacy-sensitive JavaScript APIs with surrogate APIs. In more detail, harmful scripts will access mock APIs (e.g., set or access a cookie in a dummy cookie jar), while benign scripts will still be able to call the original APIs, essentially maintaining script and page functionality while preserving user privacy. Crucially, this approach allows SurfJS to operate in a fully automated, scalable and script-agnostic manner, i.e., without requiring any prior script analysis, refactoring or manual effort.

    Run by Technical University of Crete

    Logo NLnet: abstract logo of four people seen from above Logo NGI Zero Commons Fund: letterlogo shaped like a tag

    This project was funded through the NGI0 Commons Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 101135429. Additional funding is made available by the Swiss State Secretariat for Education, Research and Innovation (SERI).