A small tool that clears qutebrowser cookies.
Go to file
Michele Guerini Rocco 61d91f1e07
cabal: increase version number
2022-01-11 01:22:39 +01:00
.ghc update copyright year 2022-01-11 01:22:39 +01:00
man cabal: increase version number 2022-01-11 01:22:39 +01:00
.gitignore ignore cabal2nix generated file 2022-01-11 01:22:39 +01:00
LICENSE initial commit 2018-09-21 21:34:31 +02:00
Main.hs fix some warnings 2022-01-11 01:22:39 +01:00
README.md update copyright year 2022-01-11 01:22:39 +01:00
bisc.cabal cabal: increase version number 2022-01-11 01:22:39 +01:00
default.nix default.nix: update static compiler 2022-01-11 01:22:39 +01:00



A small tool that clears cookies (and more)

Websites can store unwanted data using all sorts of methods: besides the usual cookies, there are also the local and session storage, the IndexedDB API and more caches as well.

bisc will try to go through each of them and remove all information from websites that are not explicitly allowed (ie. a whitelist of domains). It was created for qutebrowser, but it actually supports the storage format used by Chromium-based browsers, which (sadly) means almost every one nowadays.


bisc is a Haskell program available on Hackage and can be installed with one of the Haskell package managers. For example, with cabal-install you would do

cabal install bisc

and similarly for stack.

Alternatively, if you are using Nix or NixOS, bisc is available under the attribute haskellPackages.bisc. It should also be in the Nix binary cache so you don't have to build from source.

Finally, statically compiled binaries can be found in the releases.


The bisc configuration file is $XDG_CONFIG_HOME/bisc/bisc.conf. It allows to change the paths of the QtWebEngine/Chromium directory and the whitelist file. The default settings are:

whitelist-path = "$(XDG_CONFIG_HOME)/qutebrowser/whitelists/cookies"
webengine-path = "$(XDG_DATA_HOME)/qutebrowser/webengine"

If you want a different location for the configuration file, you can change it using the --config command line option.


  • Create an empty whitelist file and write the domains of the allowed cookies, one per line. Eg.
  • Run bisc --dry-run to see what would be deleted without actually doing it.
  • Run bisc to delete all non-whitelisted data from qutebrowser.

Note that running bisc while the browser is open is not safe: this means it could possibly corrupt the databases. Hoever, corruption in the sqllite databases (Cookies and QuotaManager) has never happened or been reported to me and the LevelDB ones (LocalStorage, SessionStorage, IndexedDB), while they do corrupt more often, are automatically repaired by bisc.


Copyright (C) 2022 Michele Guerini Rocco

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.