Skip to content

Fdawgs/fastify-floc-off

Repository files navigation

fastify-floc-off

GitHub release npm version Build status Coverage status code style: Prettier

Fastify plugin to opt-out of Google's Topics advertising-surveillance API

Overview

The fastify-floc-off plugin adds the "interest-cohort=()" directive to the Permissions-Policy response header to opt-out of Google's Topics advertising-surveillance API. It will create a new header if one does not already exist.

This was originally created to opt-out of Google's FLoC (Federated Learning of Cohorts), which has since been replaced with their Topics API, though it has the same privacy issues.

You can read more about the issues that surround Google's FLoC on EFF and Plausible Analytics.

Helmet and fastify-helmet do not support the Permissions-Policy response header setting yet, so this plugin was created out of a need for an easy way to disable/opt-out of Google's Topics API. This ensures users accessing web applications are not subject to Google's unsolicited tracking.

Installation

Install using npm:

npm i fastify-floc-off

For Fastify v3.x support, use fastify-floc-off@1.0.7.

Example usage

const Fastify = require("fastify");
const flocOff = require("fastify-floc-off");

const server = Fastify();
server.register(flocOff);

server.get("/", (_req, res) => {
	res.send("ok");
});

server.listen(3000, (err) => {
	if (err) throw err;
	console.log("Server listening on 3000");
});

Contributing

Contributions are welcome, and any help is greatly appreciated!

See the contributing guide for details on how to get started. Please adhere to this project's Code of Conduct when contributing.

Acknowledgements

License

fastify-floc-off is licensed under the MIT license.