xi-desktop-portals

Simpler specifications for Linux desktop APIs.
git clone https://git.ce9e.org/xi-desktop-portals.git

commit
66ff71654d79988e586728e6a22ffdc9f59f126b
parent
0d5e4bfae635735d6fb0b4dea13c90471fba6c53
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2026-03-14 10:45
[Secrets] spec

Diffstat

A Secrets/README.md 42 ++++++++++++++++++++++++++++++++++++++++++

1 files changed, 42 insertions, 0 deletions


diff --git a/Secrets/README.md b/Secrets/README.md

@@ -0,0 +1,42 @@
   -1     1 # Secrets Portal
   -1     2 
   -1     3 The Secrets portal allows to store passwords and other secrets.
   -1     4 
   -1     5 ## Description
   -1     6 
   -1     7 -   A key is stored in `$XDG_DATA_HOME/xi.portal.Secret/key` on the host,
   -1     8     encrypted with a password.
   -1     9 -   Secrets are stored in `$XDG_DATA_HOME/xi.portal.Secret/secrets` in the
   -1    10     application's mount namespace, encrypted with the key.
   -1    11 -   Sandboxes may mount a different directory to
   -1    12     `$XDG_DATA_HOME/xi.portal.Secret` to isolate an application's secrets. That
   -1    13     should be a subdirectory of `$XDG_DATA_HOME/xi.portal.Secret` on the host.
   -1    14 -   To access keys, applications talk to `$XDG_RUNTIME_DIR/xi.portal.Secret`.
   -1    15 
   -1    16 ## Open Questions
   -1    17 
   -1    18 -   Define a protocol, possibly based on [Himitsu](https://git.sr.ht/~sircmpwn/himitsu/tree/master/item/docs/himitsu-ipc.5.scd)
   -1    19 
   -1    20 ## Compatibility Considerations
   -1    21 
   -1    22 This approach is not compatible with Flatkap, because its use of xdg-dbus-proxy
   -1    23 obscures the calling application's mount namespace. The portal should
   -1    24 therefore implement `org.freedesktop.Secret` and
   -1    25 `org.freedesktop.portal.Secret` in addition to the interfaces described in this
   -1    26 document.
   -1    27 
   -1    28 ## Security Considerations
   -1    29 
   -1    30 -   Implementations of this portal should be transparent about their exact
   -1    31     threat model so users can make informed decisions about if and how they
   -1    32     want to use it.
   -1    33 -   Care must be taken to avoid race conditions when accessing the
   -1    34     application's mount namespace.
   -1    35 
   -1    36 ## Related Links
   -1    37 
   -1    38 -   [org.freedesktop.Secret](https://specifications.freedesktop.org/secret-service/)
   -1    39 -   [org.freedesktop.portal.Secret](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Secret.html)
   -1    40 -   [The plan to support per-app passwords on the linux desktop](https://blog.ce9e.org/posts/2024-07-27-password-plan/)
   -1    41 -   [Himitsu](https://git.sr.ht/~sircmpwn/himitsu/)
   -1    42 -   [xi-keyring](https://github.com/xi/xi-keyring)