Skip to main content

Fawkes

:warning: Check out our MacOS/Windows Software on our official webpage.

Fawkes is a privacy protection system developed by researchers at SANDLab, University of Chicago. For more information about the project, please refer to our project webpage. Contact us at fawkes-team@googlegroups.com.

We published an academic paper to summarize our work "Fawkes: Protecting Personal Privacy against Unauthorized Deep Learning Models" at USENIX Security 2020.

Copyright

This code is intended only for personal privacy protection or academic research.

Usage

$ fawkes

Options:

  • -m, --mode : the tradeoff between privacy and perturbation size. Select from low, mid, high. The higher the mode is, the more perturbation will add to the image and provide stronger protection.
  • -d, --directory : the directory with images to run protection.
  • -g, --gpu : the GPU id when using GPU for optimization.
  • --batch-size : number of images to run optimization together. Change to >1 only if you have extremely powerful compute power.
  • --format : format of the output image (png or jpg).

Example

fawkes -d ./imgs --mode low

or python3 protection.py -d ./imgs --mode low

Tips

  • The perturbation generation takes ~60 seconds per image on a CPU machine, and it would be much faster on a GPU machine. Use batch-size=1 on CPU and batch-size>1 on GPUs.
  • Run on GPU. The current Fawkes package and binary does not support GPU. To use GPU, you need to clone this repo, install the required packages in setup.py, and replace tensorflow with tensorflow-gpu. Then you can run Fawkes by python3 fawkes/protection.py [args].

How do I know my images are secure?

We are actively working on this. Python scripts that can test the protection effectiveness will be ready shortly.

Quick Installation

Install from PyPI:

pip install fawkes

If you don't have root privilege, please try to install on user namespace: pip install --user fawkes.

Academic Research Usage

For academic researchers, whether seeking to improve fawkes or to explore potential vunerability, please refer to the following guide to test Fawkes.

To protect a class in a dataset, first move the label's image to a seperate location and run Fawkes. Please use --debug option and set batch-size to a reasonable number (i.e 16, 32). If the images are already cropped and aligned, then also use the no-align option.

Citation

@inproceedings{shan2020fawkes,
  title={Fawkes: Protecting Personal Privacy against Unauthorized Deep Learning Models},
  author={Shan, Shawn and Wenger, Emily and Zhang, Jiayun and Li, Huiying and Zheng, Haitao and Zhao, Ben Y},
  booktitle={Proc. of {USENIX} Security},
  year={2020}
}

Metadata

Release files for fawkes 1.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fawkes 1.0.4
File Size Uploaded
fawkes-1.0.4.tar.gz 19.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fawkes 1.0.4
File Interpreter ABI Platform
fawkes-1.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 43.3 kB

Release files / fawkes-1.0.4.tar.gz

Download URL fawkes-1.0.4.tar.gz
Size 19.2 kB
Tags Source
SHA-256 checksum
How to use checksums
a2e899806b6e7913b3adca47e76e32728748de41524a18086b02782e248cc62f
BLAKE2b-256 checksum
How to use checksums
32d49dd285db1c318106c45941aa60f28d506c2c7918c87a5012bf3291424e77
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/54.0.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.6.7

Release files / fawkes-1.0.4-py3-none-any.whl

Download URL fawkes-1.0.4-py3-none-any.whl
Size 24.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
24579bfe19a418906dd19af1001790b2f2a0f86faf4375efb60832c4c12a6783
BLAKE2b-256 checksum
How to use checksums
551f2788fa1579e474d4e937e8c274cd44f2e135b559ea838f24844fa4eae602
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/54.0.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.6.7

Release history Release notifications | RSS feed

This release

1.0.4 This release

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.0

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.1.0

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page