by simpvert | 2026-02-25 17:07:15+00:00
Hey! Thanks a lot for the questions!

To answer them briefly:

1. Yes! You can pronounce it as "Grit", although "Greet" would be more accurate in English :D I wrote a blog post specifically about the name, as I predicted it's not easy to pronounce for non-Scandinavians: https://gryt.chat/blog/the-story-of-gryt

2. No! Gryt uses an SFU (Selective Forwarding Unit) architecture, not peer-to-peer. All media flows client -> SFU -> other clients. Clients never establish direct WebRTC connections with each other. The SFU sits in between and forwards encrypted media packets. Other clients only ever see the SFU/server's IP, never another client's IP.

3. No. There is no mechanism today for Server A to proxy your traffic to Server B. Your IP would be visible to each server you connect to directly. Your best bet here would be to set up a VPN on your server and connect to other servers from there :)

4. Not currently... Gryt uses OIDC (OpenID Connect) with PKCE via Keycloak for authentication. Clients authenticate with Keycloak using a username and password, receive a signed JWT, and present that JWT to servers. Servers verify the JWT signature against Keycloak's JWKS public keys but never see user passwords. There is no public-key-based client identity mechanism -- the identity system is token-based (JWT), not key-pair-based.

5. It depends on what you mean by "end-to-end." All media is encrypted using DTLS-SRTP (mandatory in WebRTC). The encryption is negotiated between each client and the SFU. Media is always encrypted in transit, and the SFU is designed to forward without decrypting, but it could technically decrypt if modified. Self-hosting gives you full control over this trust boundary.

As I wrote in one of my blog posts: "The SFU forwards encrypted packets without decrypting them. It can route audio but can't listen to it. Privacy is architectural, not a policy promise."

6. Yes! But not multiple sign-ins/clients. The desktop client (Electron) has a single main window, but video streams and screen shares can be popped out into separate windows. These popout windows are resizable and can be pinned as "always on top" (Electron only). So you get the main application window plus any number of popout video windows.

7. Kinda. You can resize the window down to 800px wide, but it won't go narrower than that. There is mobile-responsive layout logic in the codebase, but it's still very early. The 800px minimum width is subject to change :) I'm looking to implement a "mini mode" with only the chat of a selected channel -- "pop out channel" essentially.

8. Yes! Bitrate is configurable per quality level, and in native mode there is no bitrate cap. So unlike Discord's free-tier screen share, Gryt does not downscale or blur the stream -- it's designed to show pixels as they are, especially in native mode.

9. To be honest, this is not something I had in mind when I chose that architecture years ago. We're still very early in the project and can change it. We could always switch to OpenSTRG (https://github.com/strg-com/openstrg), which is literally a fork of MinIO, or use Garage (https://garagehq.deuxfleurs.fr/) maybe :)
SeaweedFS is also worth a look (https://seaweedfs.github.io/)

I hope I could satisfy your curiosity!