PAGES
← all tools
◆ Runtime Security

Firejail

0.9.82 open-source

Firejail is an SUID sandbox program that reduces the risk of security breaches by using Linux namespaces, seccomp-bpf, and Linux capabilities.

Summary

Firejail is an open-source, free command-line sandboxingsandboxingRunning code inside a restricted environment that limits what it can access or change. The isolation reduces the impact of mistakes or untrusted code, depending on the sandbox's controls. tool for Linux that confines a process and its descendants inside their own view of kernel resources — network stack, process table, mount table — using namespaces, seccomp-bpf and Linux capabilities rather than a container runtime. It runs as a lightweight SUID binary invoked before launching a program, works alongside SELinuxSELinuxA mandatory access control system built into the Linux kernel, maintained by the NSA and Red Hat, that enforces fine-grained policies restricting what processes can access, even if they run as root., AppArmorAppArmorA Linux kernel security module, maintained as part of the kernel, that confines programs to a declared set of files, capabilities, and network access — letting cyber tools sandbox processes without writing custom kernel code. or cgroups, and ships profiles for common desktop and server applications so individual users and Linux system administrators can confine untrusted software without hand-writing policy. It sits in the same space as container and namespace-isolation tooling on Linux, doing at the process level what heavier container runtimes do for whole environments. Started in 2015, it remains active with 473 contributors and 472 commits in the past year, most recently tightening profile-path handling and hiding PID 1 by default for stronger isolation.

Firejail is an SUID sandbox program that reduces the risk of security breaches by using Linux namespaces, seccomp-bpf, and Linux capabilities.

How Firejail helps

Which untrusted application on this machine can reach my files, network or other processes if it turns out to be malicious?

confines the program and everything it spawns to a private view of the filesystem, network stack and process table, so a compromised process cannot see or touch what its own namespace does not expose to it

What could a compromised process on this host actually see if I let it run unconfined?

shows only its own restricted mount table, process list and network stack when sandboxed, so a browser or downloaded binary cannot enumerate other users' files or processes even if exploited

Which system calls does a given program really need, and which ones are pure risk?

applies seccomp-bpf filtering by syscall group so a process is stopped by the kernel the moment it tries something outside its profile, with each group inspectable before it is written into a policy

Is this desktop application still hiding its process identity and hostname from other software sharing the machine?

keeps PID 1 hidden from the sandboxed process by default and assigns it a random hostname, so software inside cannot fingerprint or address the real host unless a profile explicitly opts out

Can a graphical program I don't trust see or interfere with my other X11 windows and sessions?

runs its X11 session through an isolated Xephyr display by default, keeping its window server access separate from the rest of the desktop

Which of my installed applications already have a ready-made confinement policy versus needing one written by hand?

ships profiles for common desktop and server programs, so running one of those names applies its restrictions immediately without the administrator drafting namespace or seccomp rules first

all 17 features, with the evidence for each →

Languages

French Release notes: French French added in 0.9.78 (Jan 21, 2026)

Features

17 capabilities across 2 capability groups · 1 backed by code, an API document or a real run

Built from Firejail's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

  • Firejail covers 2 of the 11 endpoint investigation and controls capabilities we track.

What Firejail offers you

  • Command-line interface11
Security baseline enforcement 3 features Endpoint investigation and controls since 2015
Seccomp System Call Filtering shipped Enables advanced control over allowed or denied system calls via blacklist/whitelist mechanisms, custom seccomp rules, and default block lists. 14 releases · 1 other source · first seen Feb 2015

Shared capability: Security baseline enforcement

Also counts toward: Command-line interface

release 14 total

  • Add a new @program-keep syscall group for seccomp allowlists. 0.9.82 · Nov 2026 · source · release history
  • Adds faccessat2 syscall support in the default seccomp filter 0.9.66 · Jun 2021 · source · release history
  • The blocking action of seccomp filters now returns EPERM instead of killing the process; use --seccomp-error-action=kill or /etc/firejail/firejail.config to restore previous behavior 0.9.64 · Oct 2020 · source · release history
  • --seccomp-error-action=kill or syscall:kill syntax allows overriding the new default EPERM blocking action for seccomp filters to restore previous kill behavior 0.9.64 · Oct 2020 · source · release history
  • memory-deny-write-execute now also blocks memfd_create 0.9.60 · May 2019 · source · release history
  • Adds seccomp syscall groups support 0.9.50 · Sep 2017 · source · release history

example

  • Restore the previous seccomp filter behavior where blocked syscalls kill the process instead of returning EPERM. firejail --seccomp-error-action=kill firefox 0.9.64 · Oct 2020 · source
AppArmor Confinement shipped Allows the application of AppArmor security profiles to enforce mandatory access controls on sandboxed processes. 6 releases · 1 other source · first seen Sep 2016

Shared capability: Security baseline enforcement

release

  • Adds signal mediation support within AppArmor profiles. 0.9.62 · Dec 2019 · source · release history
  • Adds firejail --apparmor.print option to output the AppArmor policy for a sandbox 0.9.54 · May 2018 · source · release history
  • Adds firemon --apparmor option and adds apparmor yes/no flag to /etc/firejail/firejail.config to control AppArmor enforcement 0.9.54 · May 2018 · source · release history
  • Enables /etc and /usr/share whitelisting in apparmor profiles 0.9.52 · Dec 2017 · source · release history
  • Prints a warning if the AppArmor sandbox fails to load the profile instead of failing silently 0.9.48 · Jun 2017 · source · release history
  • Adds --apparmor flag to enable AppArmor confinement for sandboxes. 0.9.42 · Sep 2016 · source · release history

example

  • Enable AppArmor enforcement globally via configuration file. apparmor yes 0.9.54 · May 2018 · source
Linux Capability Blacklisting/Whitelisting shipped Allows precise control over specific Linux capabilities granted to the sandboxed process via configuration-based filters. 3 releases · first seen Mar 2015

Shared capability: Security baseline enforcement

release

  • Adds config support to disable join functionality via the join setting 0.9.46 · May 2017 · source · release history
  • Disables x32 ABI support to reduce attack surface 0.9.38.2 · Aug 2016 · source · release history
  • Custom Linux capabilities can be controlled via new blacklist/whitelist filters using configuration keys 0.9.22 · Mar 2015 · source · release history
Host network isolation 2 features Endpoint investigation and controls since 2014
Network Namespace Configuration shipped Allows configuration of network interfaces, IP addresses, gateways, and monitoring of network state within the sandbox. 17 releases · first seen Apr 2014

Shared capability: Host network isolation

Also counts toward: Command-line interface

release 17 total

  • Implements netns support in profiles 0.9.64.2 · Jan 2021 · source · release history
  • Adds --net.print command to display network interface information within the sandbox. 0.9.58 · Jan 2019 · source · release history
  • --veth-name flag assigns a name to the interface connected to the bridge. 0.9.44 · Oct 2016 · source · release history
  • Network profile commands: net, ip, defaultgw, ip6, mac, mtu, and iprange added 0.9.40 · May 2016 · source · release history
  • Adds --join-network and --join-filesystem subcommands to --join for granular namespace sharing 0.9.38 · Feb 2016 · source · release history
  • Adds --ip6 and --netfilter6 flags for IPv6 networking support 0.9.38 · Feb 2016 · source · release history
Network Access Control and Traffic Shaping shipped Provides comprehensive network isolation options including disabling access, bandwidth limiting, scanning capabilities, interface binding, protocol restrictions, and MAC address spoofing. 13 releases · 1 other source · first seen Mar 2015

Shared capability: Host network isolation

Also counts toward: Command-line interface

release 13 total

  • --bandwidth= is removed; any profile or script using it will error. 0.9.82 · Nov 2026 · source · release history
  • Enables accumulation of multiple --protocol flags instead of overwriting previous settings 0.9.66 · Jun 2021 · source · release history
  • Adds IPv6 network filter nolocal6.net 0.9.64.2 · Jan 2021 · source · release history
  • Adds --protocol=bluetooth to enable AF_BLUATOOTH access 0.9.64.2 · Jan 2021 · source · release history
  • Adds explicit nonewprivs support to the join option, allowing sandboxed processes to drop privileges when joining an existing namespace. 0.9.58 · Jan 2019 · source · release history
  • Enables use of --net=none even when networking is disabled at compile time or run time 0.9.56 · Sep 2018 · source · release history

example

  • Run an application with Bluetooth access enabled. firejail --protocol=bluetooth myapp 0.9.64.2 · Jan 2021 · source
Other / not yet classified 12 features Features we have not matched to a capability yet. A suggested match is marked.
Profile Management and Application Sandboxing shipped Provides built-in profiles for specific applications and profile configuration directives to define private environments and shells. 81 releases · 2 other sources · first seen May 2014

release 81 total

  • ./configure --enable-busybox-workaround and ./configure --disable-sandbox-check options are removed. 0.9.82 · Nov 2026 · source · release history
  • Add sandbox profiles for gemini, opencode, pi, ephoto, tldr, claude, tasks-org, ChiPass, and maki. 0.9.82 · Nov 2026 · source · release history
  • firecfg --guide is removed; the guidance is now in man firejail. 0.9.82 · Nov 2026 · source · release history
  • Add ${PROJECTS}, ${PUBLICSHARE}, and ${TEMPLATES} macros to profile files for referencing XDG user directories.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ 0.9.82 · Nov 2026 · source · release history
  • Allow subpaths in XDG macros in profile files, so paths like ${DOCUMENTS}/reports are now valid. 0.9.82 · Nov 2026 · source · release history
  • Add llm-agent-common.profile as a shared base profile for LLM agent applications. 0.9.82 · Nov 2026 · source · release history

example

  • Pass an include file directly from the command line to customize the sandbox without editing profile files. firejail --include=/path/to/custom.inc firefox 0.9.64 · Oct 2020 · source
  • Use the new firecfg utility to automatically integrate applications into the sandbox environment. firecfg 0.9.40 · May 2016 · source
PulseAudio and D-Bus integration controls verified Allows users to disable automatic PulseAudio initialisation and D-Bus access for customised or restricted runtime environments. 43 releases · 6 other sources · first seen Apr 2014

Also counts toward: Command-line interface

release 43 total

  • Adds env-max-count and env-max-len settings to firejail.config to cap the number and length of environment variables in the sandbox. 0.9.78 · Jan 2026 · source · release history
  • rlimit values now accept uppercase suffixes (e.g., K, M, G) for human-readable resource limit configuration. 0.9.78 · Jan 2026 · source · release history
  • Adds arg-max-count and arg-max-len settings to firejail.config to cap the number and length of arguments passed to sandboxed programs. 0.9.78 · Jan 2026 · source · release history
  • Supports globbing in hardcoded numbered /dev paths, allowing flexible device matching in profiles. 0.9.76 · Jul 2025 · source · release history
  • Adds support for comm, coredump, and prctl process events in firemon. 0.9.74 · Mar 2025 · source · release history
  • Adds aarch64 syscall definitions for seccomp filtering on ARM64. 0.9.74 · Mar 2025 · source · release history

command line

  • --noautopulse — Disable automatic ~/.config/pulse init, for complex setups such 0.9.54-rc1 · May 2018 · command-line history
  • --nodbus — Disable D-Bus access. Only the regular UNIX socket is handled by 0.9.54-rc1 · May 2018 · command-line history

example

  • Override the auto-assigned random sandbox hostname to a predictable name for scripted environments. firejail --hostname=mysandbox --private curl https://example.com 0.9.74 · Mar 2025 · source
  • Enable tab completion for commands inside a firejail shell session firejail --bash --tab 0.9.70 · Jun 2022 · source
  • Run the interactive guide to automatically configure file associations for your desktop environment firecfg --guide 0.9.70 · Jun 2022 · source
  • Enable fine-grained D-Bus sandboxing by excluding user and system bus access, which requires xdg-dbus-proxy installed. firejail --dbus-user=none --dbus-system=none firefox 0.9.64 · Oct 2020 · source
Filesystem Isolation Directives shipped Enables mounting tmpfs overlays, binding host paths, restricting read-write access, and using blacklists to isolate sandboxed filesystem views. 46 releases · 1 other source · first seen Apr 2014

Also counts toward: Command-line interface

release 46 total

  • --chroot= is disabled in the default build; re-enabling requires ./configure --enable-chroot. 0.9.82 · Nov 2026 · source · release history
  • --private-home is removed; profiles or scripts using it will error. 0.9.82 · Nov 2026 · source · release history
  • private-lib profile feature is removed; profiles using it will error. 0.9.82 · Nov 2026 · source · release history
  • Adds private-bin, private-etc, private-opt, private-srv, whitelist-disable-topdir, and seccomp-filter-add settings to firejail.config for finer sandbox file isolation 0.9.66 · Jun 2021 · source · release history
  • Allows --tmpfs inside $HOME for unprivileged users 0.9.64.2 · Jan 2021 · source · release history
  • Adds file-copy-limit configuration key to /etc/firejail/firejail.config to restrict how much data a sandboxed process can write to disk. 0.9.62 · Dec 2019 · source · release history

example

  • Create a sandbox with a private file system entry using the new CLI flag firejail --mkfile=«home»/data.txt /bin/bash 0.9.66 · Jun 2021 · source
Sandbox Monitoring and Lifecycle Management shipped suggested Provides mechanisms to list, join, terminate, and monitor process hierarchies and system resources for active sandbox sessions. 14 releases · 1 other source · first seen Jul 2014

Suggested capability: Process telemetry. This is our guess, not confirmed.

Also counts toward: Command-line interface

release 14 total

  • Add the profstats tool's --include command-line option to filter profile statistics. 0.9.82 · Nov 2026 · source · release history
  • --join-or-start flag enables starting or joining a sandbox in a single command. 0.9.44 · Oct 2016 · source · release history
  • --cpu.print option added for CPU profiling output 0.9.40 · May 2016 · source · release history
  • --netstats monitor network statistics in real-time during sandbox execution 0.9.22 · Mar 2015 · source · release history
  • --cpu flag allows setting CPU affinity for sandboxes 0.9.20 · Feb 2015 · source · release history
  • --cgroup option enables Linux control groups support in sandboxes 0.9.20 · Feb 2015 · source · release history

example

  • Test the state of a running sandbox using the new utility jailtest <sandbox_pid> 0.9.66 · Jun 2021 · source
X11 Forwarding and Security Controls shipped Allows users to configure X11 display forwarding, security extensions, and access blocking within sandboxed environments. 9 releases · first seen May 2016

Also counts toward: Command-line interface

release 9 total

  • --x11=xephyr is removed as a direct option; Xephyr is now used automatically by --x11. 0.9.82 · Nov 2026 · source · release history
  • --x11=xorg and --x11=xvfb are disabled in the default build; re-enabling requires ./configure --enable-x11-legacy. 0.9.82 · Nov 2026 · source · release history
  • --x11=xpra support is removed; profiles or scripts using it will error. 0.9.82 · Nov 2026 · source · release history
  • Adds --x11=xvfb support for Xvfb X11 server sandboxing 0.9.46 · May 2017 · source · release history
  • Enables automatic X server sandboxing for --x11=xpra and --x11=xephyr 0.9.46 · May 2017 · source · release history
  • --no3d flag disables 3D hardware acceleration. 0.9.44 · Oct 2016 · source · release history
Sandbox Auditing shipped suggested Provides mechanisms to audit sandbox activities and system calls for security monitoring. 5 releases · first seen Sep 2016

Suggested capability: Process telemetry. This is our guess, not confirmed.

release

  • Implement syscall:log in seccomp lists to log rather than block a syscall, enabling audit-style profiling. 0.9.82 · Nov 2026 · source · release history
  • --tracelog and --blacklist-nolog are removed; profiles or scripts using them will error. 0.9.82 · Nov 2026 · source · release history
  • New --wrap option replaces the deprecated --nowrap option in firemon 0.9.64 · Oct 2020 · source · release history
  • Adds --seccomp.print option to use the new seccomp disassembler for inspecting system call filters 0.9.54 · May 2018 · source · release history
  • Adds --audit flag to enable sandbox auditing capabilities. 0.9.42 · Sep 2016 · source · release history
Linux Control Groups (Cgroups) Support shipped Allows the configuration and management of Linux control groups to restrict resource usage within sandboxed environments. 3 releases · first seen Feb 2015

Also counts toward: Command-line interface

release

  • Adds cgroup flag in /etc/firejail/firejail.config file to control cgroup handling 0.9.58.2 · Feb 2019 · source · release history
  • --nice option added for setting process priority 0.9.40 · May 2016 · source · release history
  • --cgroup option enables Linux control groups support in sandboxes 0.9.20 · Feb 2015 · source · release history
Network Filtering Profiles shipped Enables the use of predefined or custom network filter rules (netfilter) via dedicated configuration files to manage sandboxed network traffic. 3 releases · first seen Apr 2015

Also counts toward: Command-line interface

release

  • Adds --netfilter.print and --netfilter6.print flags for netfilter template support output 0.9.52 · Dec 2017 · source · release history
  • Adds /etc/firejail/nolocal.net and /etc/firejail/webserver.net network filter files 0.9.36 · Dec 2015 · source · release history
  • Adds support for netfilter directives in profile files to configure network filtering rules 0.9.24 · Apr 2015 · source · release history
DHCP Client Sandboxing shipped suggested Allows the sandboxing of DHCP client processes to prevent network configuration leakage or conflict. 2 releases · first seen Oct 2020

Suggested capability: Host network isolation. This is our guess, not confirmed.

release

  • --ip=dhcp is temporarily disabled; sandboxes relying on DHCP assignment will not start. 0.9.82 · Nov 2026 · source · release history
  • Added DHCP client support to allow sandboxing of DHCP clients 0.9.64 · Oct 2020 · source · release history
Process Debugging Support shipped Enables the use of debugging tools like gdb and strace on processes running inside the sandbox. 2 releases · first seen Sep 2016

Also counts toward: Command-line interface

release

  • Adds support for allow-debuggers in user profiles to permit debugging tools inside the sandbox. 0.9.62 · Dec 2019 · source · release history
  • Adds --allow-debuggers flag to allow debugging inside the sandbox with gdb and strace. 0.9.42 · Sep 2016 · source · release history
Hostname Spoofing shipped Allows the sandboxed process to present a different hostname than the host system. 1 release · first seen Oct 2015

release

  • Adds --hostname CLI argument to spoof the hostname inside the sandbox 0.9.32 · Oct 2015 · source · release history
Environment Variable Management shipped Allows setting or inheriting environment variables for processes running inside the sandbox. 1 release · first seen Sep 2015

Also counts toward: Command-line interface

release

  • --env option added for setting environment variables in the sandbox 0.9.30 · Sep 2015 · source · release history

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for Firejail, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail Firejail puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Coverage

Missing something? Tell us

What Firejail connects to, runs on and detects, read from its release notes and docs. So far: 2 new supported platforms.

Show

2 changes, tracked since Nov 2, 2026.

  • Nov 22026

    new New application sandbox profiles

    Covers 9: gemini, opencode, pi, ephoto, tldr, claude and 3 more

    * new profile: gemini (#6936) * new profile: opencode (#7135) * new profile: pi (#7136) * new profile: ephoto (#7153) * new profile: tldr (#7166) * new profile: claude (#7169) * new profile: tasks-org (#7273) * new profile: ChiPass (#7271) * new profile: maki (#7285)

    0.9.82 Source ↗

  • Nov 22026

    new llm-agent-common base profile

    With llm-agent-common.profile

    * profiles: add llm-agent-common.profile (#7158)

    0.9.82 Source ↗

How we count

Read from 1 of 45 release notes and docs updates we hold for Firejail. "First seen" is the earliest note that names something; "last" is the latest. Our history may start partway through Firejail's life, so an old integration can show a recent first-seen date.

Each change counts once: "added 40 checks" is one line, so the numbers measure how often coverage moves, not how big the catalogue is or how well it detects.

Releases

Show
Coverage in all entries

45 entries

  1. November 20261
  2. March 20261
  3. January 20261
  4. July 20251
  5. March 20251
  6. January 20231
  7. June 20221
  8. February 20221
  9. June 20211
  10. January 20211
  11. October 20201
  12. December 20191
  13. May 20191
  14. February 20191
  15. January 20191
  16. September 20181
  17. May 20181
  18. December 20171
  19. November 20171
  20. September 20171
  21. June 20171
  22. May 20171
  23. January 20171
  24. October 20161
  25. September 20161
  26. August 20161
  27. May 20161
  28. February 20161
  29. December 20151
  30. November 20151
  31. October 20151
  32. September 20151
  33. August 20151
  34. April 20152
  35. March 20151
  36. February 20151
  37. December 20141
  38. November 20141
  39. October 20141
  40. August 20141
  41. July 20141
  42. June 20141
  43. May 20141
  44. April 20141
    Show
    Coverage in all entries

    45 entries

    Project health

    Issue, contributor and maintainer activity in netblue30/firejail, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 37 −2 vs prior 12 months
    2. Maintainers 2 +0 joined · −0 left, last 12 months
    3. Bus factor 1 committers behind half the commits
    4. Community-filed 73% of issues opened, last 12 months
    5. Median time to close < 1 day first maintainer reply 4 hours
    6. Open backlog 502 of 3,522 issues ever filed
    1. Issues opened / month 0 · 0 communitymaintainers
    2. Open backlog 502
    3. Contributors / month 3
    4. Commits / month 30
    5. Stars 7,650
    Issue themes, last 12 months
    • bugs 15%
    • features 13%
    • other 72%

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →