Safeguard
Security Guides•

How do you read what a Flatpak app can access on your computer?

Flatpak apps start with very limited access and gain more through permissions. The permission types, which ones to question and what portals replace.

Safeguard Security Team
3 min read

A Flatpak app starts in a sandbox with very limited access and gains reach only through permissions declared in its manifest. To judge an app, read those permissions and question the broad ones: host filesystem, the system or session bus, and all devices.

The default sandbox

According to the Flatpak documentation, apps by default cannot reach the network, host devices or processes outside the sandbox. They can own only their own D-Bus name, and they cannot use X11, the system bus or PulseAudio. Permissions are granted in the finish-args section of the build manifest, and they are static.

The permission groups

GroupExamples from the docsQuestion to ask
Standardshare=network, device=dri, socket=pulseaudio, socket=ssh-authDoes the app need this for its job?
D-Bussession-bus, system-busWhy remove the bus filtering?
Filesystemhost, home, xdg-download, with :ro for read onlyCan it be narrower or read only?
Devicesdri, kvm, shm, input, usb, allIs all too broad?

On D-Bus, the default allows an app to own names under its own app ID and talk to matching names, the bus itself, and portal interfaces. The documentation says --socket=system-bus and --socket=session-bus remove this filtering and are a security risk. On devices, it notes --device=all can reach webcams and optical drives.

What host access means

--filesystem=host grants access to all top level paths and subpaths of /, except certain reserved paths. Because host includes home, it also covers the home directory except ~/.var/app. The guidelines discourage broad grants like this in favor of narrower permissions or portals.

Portals as the alternative

Portals give controlled access to outside resources such as file choosers, opening URIs, printing and notifications. Often the user's action, like picking a file, is the permission. GTK3 and Qt5 support portals transparently, so many apps need no static filesystem access at all.

A quick review routine

  1. List the app's permissions before installing from a source you do not know well.
  2. Flag host, home, system bus, session bus and device all.
  3. Prefer an app that uses portals over one that asks for broad access.
  4. Revisit after updates, since permissions can change between versions.
  5. For apps you publish, grant the least that works and document why.

Try it yourself

Permissions are a form of dependency on the host. The inventory demo lists what an app contains and relies on. Click through it and compare that view with a permission list.

Click through it at your own pace, or open it full screen.

Quick check

Does a Flatpak sandbox make any app safe?

No. The sandbox limits reach, but broad permissions reduce that limit. An app with host access can touch most of your files.

Do portals need a permission in the manifest?

Often not. The documentation says the user's action, like choosing a file, can act as implicit permission.

Safeguard's SBOM and dependency scanning covers what ships inside the apps your team builds. A free scan is at gold.safeguard.sh/scan.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.