Firejail

Firejail is a SUID sandbox program that reduces the risk of security breaches by restricting the running environment of untrusted applications using Linux namespaces and seccomp-bpf. Written in C, virtually no dependencies, runs on any modern Linux system, with no daemon running in the background, no complicated configuration, and it's super lightweight and super secure, since all actions are implemented by the kernel. It includes security profiles for over 800 common Linux applications. FireJail is recommended for running any app that may potential pose some kind of risk, such as torrenting through Transmission, browsing the web, opening downloaded attachments.

Open Source

Firejail Source Code

Author

netblue30

Description

Linux namespaces and seccomp-bpf sandbox

Homepage

https://firejail.wordpress.com

Repository

  • LicenseGPL-2.0
  • Created08 Aug 15
  • Primary languageC
  • Size24,215 KB
  • Stars7,737
  • Forks678
  • Watchers7,737

Language Usage

Language Usage

Project Health

Recent Commits

  • Kelvin M. Klann(11 Nov 26)

    bugfix: restore `x11 (xorg|xvfb)` profile commands (#7305) Changes: * Restore legacy x11 profile commands * Error on legacy x11 options when `HAVE_X11 && !HAVE_X11_LEGACY` When `./configure --enable-x11-legacy` is used, the `--x11=(xorg|xvfb)` CLI options are still available, so restore the `x11 (xorg|xvfb)` profile commands to match them. Print errors to clarify when the options are unavailable and why. Related commits: * 830f23991 ("--x11 restructuring - part 2", 2026-10-08) Relates to #7263.

  • Kelvin M. Klann(08 Nov 26)

    docs: fix incorrect descriptions of `--x11` command See `x11_start()` in src/firejail/x11.c. Related commits: * 976ab54c2 ("remove x11 xpra support - part 1", 2026-07-18) Relates to #7207 #7263 #7297.

  • Kelvin M. Klann(08 Nov 26)

    docs: man: fix broken .br in x11 section This amends commit 08e51629c ("--x11 restructuring - part 1", 2026-10-07). Relates to #7297.

  • Kelvin M. Klann(08 Nov 26)

    docs: fix usage of `--x11=(xorg|xvfb)` being shown by default Related commits: * 08e51629c ("--x11 restructuring - part 1", 2026-10-07) * 830f23991 ("--x11 restructuring - part 2", 2026-10-08) Relates to #7263.

  • Kelvin M. Klann(09 Nov 26)

    build: configure: sort x11 variables This amends commit 830f23991 ("--x11 restructuring - part 2", 2026-10-08). Relates to #7263.

  • Kelvin M. Klann(09 Nov 26)

    profiles: remove more remnants of xpra (#7302) Note: Not sure if the xpra server also uses ~/.xpra, but allow it just in case. Related commits: * 6c4b75546 ("build: remove some remnants of xpra", 2026-08-01) * abfad3870 ("profiles: x11: format comments", 2026-08-01) Relates to #7207.

  • Kelvin M. Klann(07 Nov 26)

    profiles: disable-common: sort X11 section Relates to #7207.

  • dogknowsnx(07 Nov 26)

    profiles: mpv: fix dbus mpris (#7298) `firejail version 0.9.82` (local build on Void Linux - no systemd). Fixes errors like those shown below (and unbreaks `mpv` for me): (process:28): GLib-GIO-WARNING **: 11:57:29.946: Error releasing name org.mpris.MediaPlayer2.mpv.instance-XnUNEAvI: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: org.freedesktop.DBus.Error.ServiceUnknown Relates to #7237.

  • pierretom(04 Nov 26)

    modif: use semicolons to split fields in seccomp list message (#7294) Changes: * Separate the "Seccomp list in", "check list", "prelist" and "postlist" fields with semicolons, so they are no longer confused with the commas between syscalls. * Drop the trailing separator at the end of the line. * Update the example in the Firejail man page to match the actual output. Example: firejail --noprofile --seccomp=keyctl,getcpu true Before: Seccomp list in: keyctl,getcpu, check list: @default-keep, prelist: keyctl,getcpu, After: Seccomp list in: keyctl,getcpu; check list: @default-keep; prelist: keyctl,getcpu

  • Kelvin M. Klann(04 Nov 26)

    RELNOTES: split 0.9.82 and 0.9.82.2 To avoid confusion, split the releases and note what exactly changed in 0.9.82.2, as 0.9.82 had already been released and packaged in some distributions. Also, improve the release fix item and move it into 0.9.82.2. This amends commit 6c605b68d ("release 0.9.82.2 testing", 2026-11-03). Relates to #7104 #7299.

  • netblue30(03 Nov 26)

    moving back to 0.9.83

  • netblue30(03 Nov 26)

    release 0.9.82.2 testing

  • Kelvin M. Klann(03 Nov 26)

    RELNOTES: move, merge and improve x11/ip removal items Relates to #7207 #7263 #7264 #7297.

  • Kelvin M. Klann(03 Nov 26)

    RELNOTES: move build item into removals Relates to #7202.

  • Kelvin M. Klann(03 Nov 26)

    RELNOTES: improve wording/formatting of removal items Relates to #7197 #7198 #7199 #7200 #7201 #7207 #7261 #7262.

  • Kelvin M. Klann(03 Nov 26)

    RELNOTES: reword test/apps item Added on commit 6af6951d4 ("relnotes for 0.9.82", 2026-11-02).

  • Kelvin M. Klann(03 Nov 26)

    RELNOTES: add WIP release 0.9.83 This amends commit 6af6951d4 ("relnotes for 0.9.82", 2026-11-02). Relates to #7104.

  • Kelvin M. Klann(03 Nov 26)

    docs: update supported version to 0.9.82 Relates to #7104.

  • Kelvin M. Klann(03 Nov 26)

    RELNOTES: fix release date for 0.9.82 This amends commit 6af6951d4 ("relnotes for 0.9.82", 2026-11-02).

  • netblue30(02 Nov 26)

    moving to 0.9.83

  • netblue30(02 Nov 26)

    release 0.9.82 testing

  • netblue30(02 Nov 26)

    relnotes for 0.9.82

  • Kelvin M. Klann(02 Nov 26)

    profiles: tor: format comments Related commits: * 9c833ae92 ("Add 31 profiles", 2017-09-16) / PR #1555

  • Kelvin M. Klann(02 Nov 26)

    profiles: tor: improve script comment Changes: * Use absolute program path (see #2877) * Change hardcoded profile path into profile name (which also checks in /etc/firejail) Related commits: * 9c833ae92 ("Add 31 profiles", 2017-09-16) / PR #1555

  • Kelvin M. Klann(02 Nov 26)

    profiles: minetest: replace `/home/<USER>` with `~` Related commits: * deb6c1245 ("hardening some profiles (#3505)", 2020-07-09)

  • Kelvin M. Klann(02 Nov 26)

    profiles: arch: use `${PROJECTS}` macro This amends commit 5abf0577a ("feature: add `${PROJECTS}` macro (#7157)", 2026-05-09). Related commits: * d0ae07485 ("makepkg profile for Arch platform, #1642", 2017-11-15) * 6c10737f0 ("archaudit-report and cower for Arch platforms, #1642", 2017-11-15)

  • Kelvin M. Klann(02 Nov 26)

    profiles: gitg: use `${PROJECTS}` macro This amends commit 5abf0577a ("feature: add `${PROJECTS}` macro (#7157)", 2026-05-09).

  • Kelvin M. Klann(02 Nov 26)

    RELNOTES: add `syscall:log` feature item Relates to #7289.

  • pierretom(01 Nov 26)

    docs: man: remove two line breaks to merge the syscall numbers into a paragraph

  • netblue30(01 Nov 26)

    Merge pull request #7290 from netblue30/dependabot/github_actions/codeql-actions-271845e79b build(deps): bump the codeql-actions group with 2 updates

Firejail Security

6.8/10

Repo Security Summary

Updated 24 Aug 26

  • Maintained10/10
  • Security-Policy10/10
  • Dangerous-Workflow10/10
  • PackagingN/A
  • CII-Best-Practices0/10
  • Code-Review3/10
  • Token-Permissions10/10
  • Binary-Artifacts5/10
  • Fuzzing0/10
  • License10/10
  • Pinned-Dependencies10/10
  • Signed-Releases8/10
  • Branch-Protection0/10
  • SAST9/10

Firejail Reviews

More Linux Defenses

About the Data: Firejail

Edit Firejail Data

You can edit Firejail's entry in this section of awesome-privacy.yml by submitting a PR to our GitHub repo.
Note that some of the information shown above has been aggregated from external sources, a list of these can be found data documentation.

Origin Data

Modify Data

API

You can access Firejail's data programmatically via our API. Simply make a GET request to:

https://api.awesome-privacy.xyz/v1/services/firejail

The REST API is free, no-auth and CORS-enabled. To learn more, view the API Docs or read the API Usage Guide.

Share Firejail

Help your friends compare Linux Defenses, and pick privacy-respecting software and services.
Share Firejail and Awesome Privacy with your network!