The official apps
Fauna is free software, so anyone may build and share it. The name is another matter: only the apps and releases published by Fauna Social through its own channels are Fauna’s, and this page is how you tell.
Everything below is generated from one file in the project’s source: the same list the release tooling is checked against, so this page cannot say one thing while a release does another. Each row is an identity you can compare with the app in front of you, and a short note on how. A row marked not yet is an identity that is not issued or not published yet, with the reason; we never print a placeholder in its place.
What “official” means here is simple: published by the association, under the
identifiers on this page, signed with the identities on this page. An app
under any other package name, from any other publisher, or signed with any
other key is not ours, however it is named or drawn. The project’s trademark
policy, published at the root of the source as TRADEMARK.md, says the same
in full and explains what a modified version must do instead.
Found something that calls itself Fauna and is not on this page? Please write to hello@fauna.social with where you saw it. We ask the store to take it down, and we would rather hear about it twice than not at all.
Web app
Served by every nest at its own address under /app/, and later by the project's own hosted origin.
| Identity | Value | How to check |
|---|---|---|
| Hosted web app address | not yet https://app.fauna.social The hosted web app is not live yet. Until it is, the web app you use comes from the nest you connect to, at that nest's own address. | Once live, the address bar reads exactly app.fauna.social. Any other address serving a Fauna app is a nest's own copy or someone else's. |
| Published hash manifest of the served files | not yet Every release will publish a list of the served files and their SHA-256 hashes, so anyone can rebuild the tagged source and compare. No release has published one yet. | Rebuild the tagged source, hash the output, and compare it with the published list. |
macOS
A signed and notarized download from fauna.social, updated in place by the app's own update channel.
| Identity | Value | How to check |
|---|---|---|
| Bundle identifier | social.fauna.fauna | Open the app bundle's Info.plist, or run `codesign -dv /Applications/Fauna.app`: the Identifier line reads social.fauna.fauna. |
| Apple Developer Team ID | 7457N3M72H | Run `codesign -dv --verbose=2 /Applications/Fauna.app`: the TeamIdentifier line reads 7457N3M72H, and the Authority line names Developer ID Application: Fauna Social (7457N3M72H). |
| Update-channel signing key (Sparkle, Ed25519, public half) | 6lnpmCLfr2Rl60Sf1VL8oIOn8Djl2gRw/Cwmh0wxP+s= | Open the app bundle's Info.plist: the SUPublicEDKey entry is this key. Every update the app installs is signed by the matching private key, which only the association holds. |
| Update feed address | not yet https://fauna.social/appcast.xml No release has been published to the feed yet. | Open the app bundle's Info.plist: the SUFeedURL entry is this address, and the feed itself is served from fauna.social. |
| Build attestation of the download | not yet faunasocial/fauna No signed macOS release has been published yet. | Run `gh attestation verify Fauna-<version>.dmg --repo faunasocial/fauna`: it succeeds only for a download built by this repository's own release workflow. |
| Mac App Store listing | not yet There is no Mac App Store listing. The macOS app is distributed as a download from fauna.social. | A Mac App Store entry calling itself Fauna is not the association's. |
iOS
The App Store, once the listing exists.
| Identity | Value | How to check |
|---|---|---|
| Bundle identifier | social.fauna.fauna | The same identifier as the macOS app: Apple keeps one record for both. |
| Apple Developer Team ID | 7457N3M72H | On the App Store page, the seller reads Fauna Social; the Team ID is what Apple ties that name to. |
| App Store listing | not yet No App Store listing exists yet. The only way to run the iOS app today is to build it from the source yourself. | Until the listing is announced here, an App Store entry calling itself Fauna is not the association's. |
Android
Google Play, once the listing exists; a direct-download package and F-Droid may follow.
| Identity | Value | How to check |
|---|---|---|
| Package name | social.fauna.fauna | In the system settings' app details, or in the Play address bar (`id=social.fauna.fauna`), the package name is exactly this. |
| Google Play listing | not yet No Play listing exists yet. | Until the listing is announced here, a Play entry calling itself Fauna is not the association's. |
| App signing certificate (SHA-256) | not yet Google mints the app signing key at the first upload. Its certificate fingerprint is published here the day the listing goes live. | Compare the installed app's signing certificate fingerprint (`apksigner verify --print-certs`, or a package-inspector app) with the value here. |
Windows
The Microsoft Store, once the submission is published; a direct-download installer for self-hosting.
| Identity | Value | How to check |
|---|---|---|
| Store package name | FaunaSocial.FaunaSocial | Run `Get-AppxPackage FaunaSocial.FaunaSocial` in PowerShell: the Name field is exactly this. |
| Store package publisher | CN=E8868D60-047A-46A3-B608-0D4CA88AB791 | The same `Get-AppxPackage` output's Publisher field is exactly this. The Store signs the package to it; nobody else can. |
| Package family name | FaunaSocial.FaunaSocial_hra91aebets7r | The same output's PackageFamilyName field is exactly this. |
| Publisher shown in the Store | Fauna Social | The Store listing's publisher line reads Fauna Social. |
| Microsoft Store listing | not yet https://apps.microsoft.com/detail/9PLWNB0DJ0V7 The listing is reserved and nothing has been submitted yet. The address does not resolve until the first submission is published. | Once live, the Store page for Fauna Social is at exactly this address; the Store ID in it is 9PLWNB0DJ0V7. |
| Direct-download installer signature | not yet The direct-download installer carries no Windows code signature: the association holds no public-trust certificate. Each release's installer is signed as a file with the release identity under Server and installers below, and Store installs are signed by the Store. | Verify the installer file with cosign against the release identity below rather than by its Windows signature. |
Linux
Packages published with the releases; not on Flathub.
| Identity | Value | How to check |
|---|---|---|
| Application ID | social.fauna.fauna | The desktop entry, the Flatpak ID and the AppStream metainfo all carry exactly this ID. |
| Published desktop packages | not yet No desktop packages for Linux have been released yet. Fauna is not on Flathub; a Flathub entry calling itself Fauna is not the association's. | Packages will be published with the releases under Server and installers below and signed with the same release identity. |
Terminal app
Built from the source; no release channel yet.
| Identity | Value | How to check |
|---|---|---|
| Published terminal-app binaries | not yet The terminal app has no release channel yet. Build it from the source. | Binaries will be published with the releases under Server and installers below and signed with the same release identity. |
Server and installers (GitHub releases)
The server binaries and the Windows installer are built and signed by the repository's own release workflow.
| Identity | Value | How to check |
|---|---|---|
| Release repository | not yet https://github.com/faunasocial/fauna The repository is not public yet, and no release has been published. | Downloads come from this repository's Releases page and nowhere else. |
| Release signing identity (Sigstore, keyless) | not yet certificate identity regexp: ^https://github\.com/faunasocial/fauna/ oidc issuer: https://token.actions.githubusercontent.com No signed release has been published yet. There is no key fingerprint to list: the release workflow signs with a short-lived certificate naming this repository, which is what you verify against. | Run `cosign verify-blob --certificate-identity-regexp='^https://github\.com/faunasocial/fauna/' --certificate-oidc-issuer='https://token.actions.githubusercontent.com' --bundle <file>.bundle <file>`: it succeeds only for a file signed by this repository's own workflow. |
| Server container image signature | not yet The server image at ghcr.io/faunasocial/nest is not signed yet. | Once signed, the image is verified with cosign against the release identity above. |