# Privacy policy for the TW Power Tools (formerly Infinite Scroll) extension

The TW Power Tools (formerly Infinite Scroll) extension for Chrome and Firefox (including its beta channel) adds several enhancements to the Google forums. It does that by injecting Javascript code into the forum pages which adds these enhancements. The extension doesn't collect any information at all nor does it send it to any server, although Chrome and Firefox will save and sync the extension settings between all your synced Chrome/Firefox browsers.

## Contact information

You can contact us here:

* **Name:** Adrià Vilanova Martínez
* **E-mail address:** me+privacypolicy _[at]_ avm99963.com
