+0.48 UnifiedPush: A decentralized, open-source push notification protocol (f-droid.org S:+0.44 )
741 points by mikece 1166 days ago | 146 comments on HN | Moderate positive Editorial · v3.7 · 2026-02-28 13:29:16 0
Summary Digital Privacy & Decentralization Champions
This F-Droid blog post advocates for UnifiedPush, a decentralized push notification protocol designed to provide privacy and technological independence from Google's proprietary services. The content exemplifies strong human rights alignment through open-source principles, transparent community governance, and explicit prioritization of user privacy and autonomy. Primary HRCB themes center on privacy protection (Article 12), freedom from surveillance and corporate control (Article 3), and decentralized infrastructure supporting free expression and association (Articles 19–20).
Article Heatmap
Preamble: +0.66 — Preamble P Article 1: +0.56 — Freedom, Equality, Brotherhood 1 Article 2: +0.50 — Non-Discrimination 2 Article 3: +0.56 — Life, Liberty, Security 3 Article 4: ND — No Slavery Article 4: No Data — No Slavery 4 Article 5: ND — No Torture Article 5: No Data — No Torture 5 Article 6: ND — Legal Personhood Article 6: No Data — Legal Personhood 6 Article 7: ND — Equality Before Law Article 7: No Data — Equality Before Law 7 Article 8: +0.34 — Right to Remedy 8 Article 9: ND — No Arbitrary Detention Article 9: No Data — No Arbitrary Detention 9 Article 10: ND — Fair Hearing Article 10: No Data — Fair Hearing 10 Article 11: ND — Presumption of Innocence Article 11: No Data — Presumption of Innocence 11 Article 12: +0.76 — Privacy 12 Article 13: ND — Freedom of Movement Article 13: No Data — Freedom of Movement 13 Article 14: ND — Asylum Article 14: No Data — Asylum 14 Article 15: ND — Nationality Article 15: No Data — Nationality 15 Article 16: ND — Marriage & Family Article 16: No Data — Marriage & Family 16 Article 17: +0.60 — Property 17 Article 18: +0.40 — Freedom of Thought 18 Article 19: +0.56 — Freedom of Expression 19 Article 20: +0.50 — Assembly & Association 20 Article 21: +0.44 — Political Participation 21 Article 22: ND — Social Security Article 22: No Data — Social Security 22 Article 23: +0.12 — Work & Equal Pay 23 Article 24: +0.26 — Rest & Leisure 24 Article 25: ND — Standard of Living Article 25: No Data — Standard of Living 25 Article 26: +0.34 — Education 26 Article 27: +0.44 — Cultural Participation 27 Article 28: +0.36 — Social & International Order 28 Article 29: ND — Duties to Community Article 29: No Data — Duties to Community 29 Article 30: +0.46 — No Destruction of Rights 30
Negative Neutral Positive No Data
Aggregates
Editorial Mean +0.48 Structural Mean +0.44
Weighted Mean +0.50 Unweighted Mean +0.46
Max +0.76 Article 12 Min +0.12 Article 23
Signal 17 No Data 14
Volatility 0.15 (Medium)
Negative 0 Channels E: 0.6 S: 0.4
SETL +0.07 Editorial-dominant
FW Ratio 52% 39 facts · 36 inferences
Evidence 34% coverage
5H 8M 4L 14 ND
Theme Radar
Foundation Security Legal Privacy & Movement Personal Expression Economic & Social Cultural Order & Duties Foundation: 0.57 (3 articles) Security: 0.56 (1 articles) Legal: 0.34 (1 articles) Privacy & Movement: 0.76 (1 articles) Personal: 0.50 (2 articles) Expression: 0.50 (3 articles) Economic & Social: 0.19 (2 articles) Cultural: 0.39 (2 articles) Order & Duties: 0.41 (2 articles)
HN Discussion 18 top-level · 32 replies
MayeulC 2022-12-22 16:01 UTC link
Wow, that was submitted here quicker than we could do it!

UnifiedPush has been a thing for a while, see the official website: https://unifiedpush.org/

With this blog post, we† tried to clarify a few names. Feel free to point out things that are still unclear, the documentation is pretty much a WIP.

UnifiedPush aims at replacing the push notifications mechanism provided by Google services with something independent, that anyone can self-host or any OS can provide without compatibility issues. It does require small adjustments server-side and client-side for applications assuming Google services.

There is also a Matrix room at #unifiedpush:matrix.org and a Mastodon account at https://fosstodon.org/@unifiedpush

Note: we'll be monitoring this topic for a while, you don't have to reply to this thread.

karmanyaahm and S1m are main authors

notwokeno 2022-12-22 16:10 UTC link
>However, if each app actively maintains a server connection, the OS cannot suspend them.

This is a limitation with Android and not a fundamental network/OS limitation. As long as your protocol allows for long enough keep alive latency you can periodically wake up for a short period and allow apps to service their connections (which is what I'd imagine this does anyway just with a singular app.) This works on Linux if you don't have the extra Android crap getting in the way.

It's kind of a bummer to see bad OS architecture feed into over-complicated protocol/application design.

EDIT: I guess I wasn't clear here. In my experiments I had the background wake up service wake the device up once and applications had just that singular window for all of them to service their connections. The problem with Android is instead applications either keep the phone from suspending entirely or (apparently) have some API allowing them to register their own periodic wake up that isn't shared.

EDIT2: I also want to be clear that this isn't a criticism of NTFY. The developers behind it deserve congratulations for solving a serious problem with FOSS Android apps. My complaint is that the poor architecture and unescisary inflexibility of Android made this such a complex problem in the first place.

eternityforest 2022-12-22 16:18 UTC link
Looks like a cool solution to one of the biggest issues in FOSS on Android.
nightpool 2022-12-22 16:29 UTC link
Why use a new custom-built protocol instead of adding support for the Web Push protocol already supported by Firefox, Chrome, Safari and others? https://web.dev/push-notifications-web-push-protocol/. Now backend developers have Yet Another Push Notifications Protocol to build support for, instead of being able to just easily plug into their existing code. As a benefit, since all notifications through the Web Push protocol are end-to-end encrypted, there's no concern about "trusting" the distributing server like there seems to be in this protocol (based on https://unifiedpush.org/spec/server/)
seydor 2022-12-22 16:40 UTC link
I wish we could extend SMTP to support notifications as self-expiring emails
afandian 2022-12-22 16:41 UTC link
The headline got my attention. I'm looking for a standard for subscribeable notifications / callbacks to update users of data changes in an API. Bonus point for federated. But server to server, not server to client. Double bonus points for connecting to consumer services like Zapier or IFTTT.

I'm planning to use WebSub and/or RSS, but on the look out for others. Any pointers?

rgovostes 2022-12-22 17:20 UTC link
Off-topic: Sometimes I work on ships that have Wi-Fi for talking to local services, but due to strict metering, Internet access is usually disabled. So most of the time there's no way to get notifications from monitoring systems and your fellow crew, let alone shoreside team members.

It would be nice to have a solution for delivering pushes internally, and also hold open a best-effort connection to a remote server that allows some notifications through.

The last solution I considered was running a Matrix homeserver on the ship with some local channels, and another instance on shore, and using federation to connect them when the uplink is available. Monitoring systems could send their alerts as DMs or to a shared channel.

Then for the notifications, Apple has its Local Push Connectivity API you might be able to use to send notifications within the ship network. I'm not sure if this UnifiedPush would solve the problem on Android. Either way, though, it seems like a lot of engineering effort just for a chatroom.

mixtur2021 2022-12-22 18:16 UTC link
AFAIK Modern Android (>= 8.0) reserves the right to kill your app when running in the background unless there's a foreground toast bound (even then, can still be killed in low memory situations). How does this solution work around that? Is there a need to opt into the legacy "battery saver disabled" mode for the app which more closely mirrors <= 7.0 execution model?
solarkraft 2022-12-22 18:33 UTC link
Apps draining your battery to check for notifications is the worst thing about degoogled Android. With notifications enabled my telegram client can drain my battery in a very low number of hours (got suggestions here? any client supporting UnifiedPush?)

So this is welcome, but it requires application support. And if apps on your phone use both GCM and UnifiedPush you still end up with multiple providers. But at least I think I can trust UnifiedPush to be light on my battery.

janosdebugs 2022-12-22 18:42 UTC link
This is a nice concept, but I owned more than one Android phone that would ignore the battery optimization settings and kill the applications anyway.
satvikpendem 2022-12-22 20:16 UTC link
I'm using Google Firebase Cloud Messaging [0] which allows pushing notifications to devices even if they're asleep, unlike local notification services where the device must be awake and the app must be active.

Will this service allow the same thing FCM does, including waking up the device? I'm looking at both iOS and Android devices, I see there's Flutter available but not iOS necessarily in the docs [1]. Related question, will the Flutter version also work for iOS devices? I know FCM (and its Flutter SDK) works for both, as well as web.

[0] https://firebase.google.com/products/cloud-messaging

[1] https://unifiedpush.org/developers/intro/

anotherevan 2022-12-22 21:43 UTC link
Any possibility this will mean I can push a notification from my home automation that gets displayed on my Google TV?
sohkamyung 2022-12-22 22:33 UTC link
Interesting. This could have interest from China, since they have to use Android without the Google push service, causing battery drain issues. They are trying to come up with their own push notification service.

The issue is highlighted in this article [1].

[1] https://www.sixthtone.com/news/1011308/the-real-story-behind...

w4eg324g 2022-12-22 22:33 UTC link
Why is it named decentralized when it uses a central server to route/distribute the messages?
geokon 2022-12-23 05:47 UTC link
Does anyone know how de-Googled Chinese phones work? How do programs like Wechat go about it?
javaunsafe2019 2022-12-23 06:34 UTC link
Please don’t get me wrong but I wonder what is the use case for this. First of all this tries to solve a problem that has already been solved by the mobile device OS layer within IOS and Android and furthermore is only working for Android. Why should anyone use this?
joelthelion 2022-12-23 06:36 UTC link
Would this be vulnerable to spam?
amelius 2022-12-23 08:52 UTC link
This sounds like it could be the reverse of REST, so could be pretty important and perhaps it can grow into a W3C spec.
ajvs 2022-12-22 16:14 UTC link
Thanks for your great work creating this protocol. Hope more app developers add support for it, especially for privacy focused apps like Signal which by relying on Google servers are leaking metadata.
MayeulC 2022-12-22 16:25 UTC link
You can do that, but if keep alive are not synchronized (I don't think there is a mechanism to do so), you will wake more often if you keep more connections open.

I think the OS could synchronize them if keep alive packets are sent at the TCP level, but that would be hard to do at a higher level.

Letting a single program handle persistent connections leaves a lot more potential for energy efficiency optimizations.

kitsunesoba 2022-12-22 16:27 UTC link
I would think that in order to not have an obvious negative impact on battery life, it would be necessary for the OS to coalesce app notification service keepalives, performing them in scheduled batches instead of the moment an app requests one. That should be roughly equal to the current situation with APNS/GCN, where the OS can schedule network maintenance during periods where the device and antenna(s) are likely to be awake already.
dncornholio 2022-12-22 16:29 UTC link
Does the user require to install a separate app to receive UnifiedPush messages?
dijit 2022-12-22 16:34 UTC link
This isn't just for notifications to clients themselves, this would handle the federation of notification's.

Similar to how Apples push notification service works already (APN: https://en.wikipedia.org/wiki/Apple_Push_Notification_servic...)

jitl 2022-12-22 16:40 UTC link
> you can periodically wake up for a short period and allow apps to service their connections

For this to work, you need apps to somehow conform to a standard timing and respond to a signal that says "hey, the OS is awake for you to do network things". Now each developer needs to implement some special code that understands the situation. After a while, all the devs start using libSleepyNetwork because getting those details right is hard. The libSleepyNetwork people realize that they can use a system daemon to further coalesce work for greater efficiency (one event loop is better than N event loops), so now all the consumer program C APIs are now backed by IPCs to the daemon.

This is exactly what's already happened on Android, except libSleepyNetwork is implemented by either Google, or these people. I don't think it's bad OS design at all. It's chasing efficiency via abstraction that encapsulates some complex coordination.

binwiederhier 2022-12-22 16:41 UTC link
> This is a limitation with Android and not a fundamental network/OS limitation. As long as your protocol allows for long enough keep alive latency you can periodically wake up for a short period and allow apps to service their connections (which is what I'd imagine this does anyway just with a singular app.)

The protocol does not specify how the distributor and push server communicate or keep a connection going. It's up to them to define an energy efficient way to do that. For ntfy [1], a single WebSocket or JSON stream connection is used to deliver messages to the device. This is very energy efficient and consumes <1% of battery on most phones.

As for regular wakeups (for polling), Android does not allow periodic work to be done more frequently than every 15 minutes, which is obviously not frequent enough to be useful.

> It's kind of a bummer to see bad OS architecture feed into over-complicated protocol/application design.

This is somewhat true. The restrictive Android eco-system is what led to the creation of UnifiedPush, but it's far from complicated IMHO

Disclaimer: I am the maintainer of ntfy [1], one of the UnifiedPush distributors.

[1] https://ntfy.sh

MayeulC 2022-12-22 16:48 UTC link
That use-case sounds a bit similar to Webmentions: https://en.wikipedia.org/wiki/Webmention

See also... The See also section in that article :)

You say it would be server to server, but are both publicly reachable?

MayeulC 2022-12-22 16:52 UTC link
It would also be nice to extend IMAP to support UnifiedPush...

The use-case would be new mail notifications; it wouldn't be too hard to do, and would be quite useful, as I typically have multiple e-mail accounts.

You could however build a UnifiedPush-compliant SMTP-based or IMAP-based distributor.

lern_too_spel 2022-12-22 16:54 UTC link
Congrats! It's always surprised me that Amazon or one of the other Android vendors didn't do this themselves to make porting to FireOS or other services-included Android distributions easier, but I hope you get funding from them for doing their job for them.
emersion 2022-12-22 16:55 UTC link
This is partially explained in the blog post.

I'm personally using UnifiedPush HTTP endpoints as-if they were Web Push, and it just works. I handle decryption manually on the receiving end.

karmanyaahm 2022-12-22 16:56 UTC link
UnifiedPush is compatible with WebPush: both just involve an HTTP POST to a specific URL. If your application server supports WebPush, it can send encrypted notifications to UnifiedPush servers (that is how we're planning to support Telegram, for example). You can then decrypt these notifications in the app [1]. However, some protocols only send a wake-up ping or random ID in the push notification, Trifa and Matrix respectively. There, encryption is unnecessary complexity.

However, we don't use the WebPush API between the push server and distributor since there is a lot of scope for innovation in that space (for example Google's FCM uses a custom XMPP based protocol).

[1] One example, https://github.com/UnifiedPush/dart-webpush-encryption

sandGorgon 2022-12-22 17:09 UTC link
this is NOT a limitation of Android. Android has supported wakelock based notification managers for a long time. And FCM works pretty much the same as was mentioned in the OP. The FCM manager maintains one long polled connection to Google notification servers and every other app subscribes to wakelocks from that manager.

Your app is only woken up by the OS if FCM receives a notification for you. For e.g. Xiaomi will not wake you up even if you get a notification, unless you're on a white list (the much glorified Xiaomi whitelist). When Android is put in power saving mode, the FCM manager optimized this even further.

EGreg 2022-12-22 17:10 UTC link
Sorry if I’m not understanding something but…

Doesn’t Apple and Google on the OS level only allow push notifications to come from its own services? Like, they look for the signature to be compatible with https certificate etc. Otherwise the phone could have a ton of push notifications incoming from anywhere on the Internet. The APN service for instance would only route notifications to a phone if it came from a registered website. How do you get around this?

As far as I know, even for VOIP permissions, iOS only wakes your code up if ITS APNS SERVICE sends the notification. How are you able to install a long-lived application in the background on iOS?

Similarly, the phone radio is listening for calls from the nearby cell towers in the network, not from absolutely any tower. I guess a Stingray can impersonate one, but they would probably need to fake the attestation, right?

karmanyaahm 2022-12-22 17:25 UTC link
One of the first uses of UnifiedPush was to self-host the whole Matrix messaging stack. In fact, we have already had someone in the UnifiedPush chat set this up on their ship [1]. Matrix + UnifiedPush would be perfect for a disconnected situation on ships (or Mars colonies :)

[1] https://matrix.to/#/!vwmBiTqilorqNCbGab:matrix.org/$hJpXxhVR...

binwiederhier 2022-12-22 17:27 UTC link
ntfy [1] would work for you entirely in the LAN, if you self-host the server and the phones are connected to the same Wifi. It'll only work for Android phones though, since iOS forces APNS for push notifications.

ntfy is also a distributor for UnifiedPush, so you're not entirely off topic here. Hehe.

Disclaimer: I am the maintainer of ntfy.

[1] https://github.com/binwiederhier/ntfy

kevincox 2022-12-22 17:34 UTC link
WebSub + RSS/Atom is a good option for relatively slowly changing data. (Maybe at most a couple of times an hour). It is nice because it is opt-in and an enhancement on the regular polling API.

Using WebSub or UnifiedPush would technically very similar but you need a way for the client to pass you the subscription information. WebSub has a standard discovery process to manage this.

gsich 2022-12-22 18:09 UTC link
Notifications would work (and does), maybe a sieve rule for deleting old messages?
karmanyaahm 2022-12-22 18:22 UTC link
Most distributors both show a foreground notification at all times and require exempting them from battery optimization. Because of its efficient design, something like ntfy only uses a few percent of battery per day [1].

System-level integration into Android ROMs would eliminate the need for those things.

[1] https://docs.ntfy.sh/faq/?h=battery#how-much-battery-does-th...

pmontra 2022-12-22 18:36 UTC link
You can self host a Gotify server (single file executable, web interface), install the app, set it to connect to the server on the local network. Sending a message is as easy as a curl to the server. It will show up in the apps.

https://gotify.net/

https://github.com/gotify/android

The problem is that there is no iOS app. You could use the browser there but maybe ntfy would be a better fit (Android + iOS.)

yamtaddle 2022-12-22 18:51 UTC link
> It would be nice to have a solution for delivering pushes internally, and also hold open a best-effort connection to a remote server that allows some notifications through.

... email?

karmanyaahm 2022-12-22 19:21 UTC link
> telegram client can drain my battery in a very low number of hours (got suggestions here? any client supporting UnifiedPush?)

It's possible. There is nothing ready right now.

[1] https://github.com/UnifiedPush/wishlist/issues/18

[2] https://github.com/Telegram-FOSS-Team/Telegram-FOSS/issues/5...

karmanyaahm 2022-12-22 20:26 UTC link
Yes, this is an FCM replacement on Android (and it can easily fall back to FCM if the user doesn't have UnifiedPush). There is no native UnifiedPush on iOS because Apple doesn't allow background services. The server side to support both is simple, but on the client you would need code for both FCM (for iOS) and UP (for Android). It would be interesting to build an FCM wrapper for iOS into the UP Flutter library.
binwiederhier 2022-12-22 22:07 UTC link
It's really not that bad. It uses 1% of battery for 17h. Sometimes even less than that and it shows 0% after the entire day.

So it's a hypothetical problem IMHO. There are very few cases or phones i see these days where people complain about battery: https://docs.ntfy.sh/faq/#how-much-battery-does-the-android-...

binwiederhier 2022-12-22 22:12 UTC link
I have been working and running ntfy [1] on my phone for a year now (ntfy is a UnifiedPush distributor), and it is true that Android does kill the app every now and then. But it is instantly restarted. Usually ntfy delivers notifications much much much faster than Google's FCM, especially in doze mode. FCM seems to try and conserve battery much more.

Disclaimer: I am the maintainer of ntfy.

[1] https://github.com/binwiederhier/ntfy

MayeulC 2022-12-22 22:17 UTC link
In addition to what the others wrote (a local Matrix server and UnifiedPush provider such as ntfy would work fine), I suggest you look into p2p messaging systems such as Briar. I think Tox is also p2p?

Lastly, Secure Scuttlebutt was actually designed on a boat for sporadic internet connection and local connections, as well as sneakernet, so that would work too, but I don't think it's designed for IM. Perfect for blogs or facebook-like stuff though.

Have a member of the crew go onshore up to a Wi-Fi AP, it will act as an async data transfer for everyone. You can also exhange data with other travellers, including passing boats.

Interestingly, there are a few Matrix p2p experiments. I wish apple opened their Airdrop feature as that would make proximity networking easier, though that should be achievable with Wi-Fi NAN+P2P.

LinAGKar 2022-12-22 23:59 UTC link
Because you can host your own server, rather than everyone using the same server
alwayslikethis 2022-12-23 00:54 UTC link
the main issue isn't with the foss apps though. Those usually support polling. The actual problem is with other proprietary spyware apps that you're forced to use but they are locking you in with google's FCM. Until there's an easy way to patch those apps we can't really solve this problem
artificialLimbs 2022-12-23 03:39 UTC link
If it can call a site, it can use ntfy.
POPOSYS 2022-12-23 08:15 UTC link
Thank you very much for your hard and important work!

And a special thanks for not forcing us to use a slack channel!

Hopefully other OS projects will follow.

Good health and all the best for 2023!

agsnu 2022-12-23 09:31 UTC link
It looks like this aims to be a replacement for people want to use an Android-based OS but don't want to rely on Google services, normally for reasons of philosophical objection to big tech's de facto surveillance capabilities. So presumably users of GrapheneOS, CalyxOS, LineageOS, etc.

Also since Google is blocked in China, Firebase Cloud Messaging doesn't work there. Android has something like a 75% market share in that market. Some vendors have their own offerings (e.g. Xiaomi MiPush, Huawei PushKit) etc, I could buy that a popular centralised solution would be more attractive than doing N integrations.

MayeulC 2022-12-23 10:13 UTC link
That's an interesting thought, but currently the Server-Server specification is quite trivial, the more complicated part is the Android (and Linux) API, which I don't think the W3C would cover.

There's definitely room for adoption within the freedesktop.org umbrella for the Linux part, once this part is a bit more mature.

Editorial Channel
What the content says
+0.80
Article 12 Privacy
High Advocacy Framing Practice
Editorial
+0.80
SETL
+0.28

Core theme: Advocates privacy protection by avoiding proprietary surveillance infrastructure; frames independence from Google as privacy necessity

+0.70
Preamble Preamble
High Advocacy Framing
Editorial
+0.70
SETL
+0.26

Advocates for human dignity and freedom through decentralized technology, framing independence from corporate control as core value

+0.60
Article 1 Freedom, Equality, Brotherhood
Medium Advocacy Framing
Editorial
+0.60
SETL
+0.24

Promotes equal access to technology and freedom from discriminatory corporate control

+0.60
Article 3 Life, Liberty, Security
High Advocacy Framing
Editorial
+0.60
SETL
+0.24

Explicitly advocates for security and independence from corporate surveillance and dependency

+0.60
Article 17 Property
High Advocacy Framing
Editorial
+0.60
SETL
0.00

Open-source model respects intellectual freedom and prevents lock-in to proprietary systems

+0.60
Article 19 Freedom of Expression
High Advocacy Framing
Editorial
+0.60
SETL
+0.24

Advocates free expression and information access by removing corporate gatekeeping from communication infrastructure

+0.50
Article 2 Non-Discrimination
Medium Framing
Editorial
+0.50
SETL
0.00

Decentralization principle means technology not locked to privileged populations

+0.50
Article 20 Assembly & Association
Medium Framing
Editorial
+0.50
SETL
0.00

Decentralized infrastructure supports freedom of association by enabling independent communication channels

+0.50
Article 30 No Destruction of Rights
Medium Framing
Editorial
+0.50
SETL
+0.22

Prevents abuse of rights by blocking single entity control over communication technology

+0.40
Article 18 Freedom of Thought
Medium Framing
Editorial
+0.40
SETL
0.00

Decentralization and choice of distributor embodies freedom of thought and conscience in technological decision-making

+0.40
Article 21 Political Participation
Medium Framing
Editorial
+0.40
SETL
-0.22

Community-driven development model participates in collective decision-making over technology governance

+0.40
Article 27 Cultural Participation
Medium Advocacy Framing
Editorial
+0.40
SETL
-0.22

Open-source participation in scientific/technical progress, community-driven innovation

+0.40
Article 28 Social & International Order
Medium Advocacy Framing
Editorial
+0.40
SETL
+0.20

Advocates for breaking corporate monopoly and establishing international open standard as new social order

+0.30
Article 8 Right to Remedy
Low Framing
Editorial
+0.30
SETL
-0.20

Decentralization creates more equal footing and reduces corporate gatekeeping of rights remedies

+0.30
Article 24 Rest & Leisure
Low Framing
Editorial
+0.30
SETL
+0.17

Discusses battery optimization and resource efficiency as user benefit, tangentially related to rest and leisure

+0.30
Article 26 Education
Low Practice
Editorial
+0.30
SETL
-0.20

Provides educational content and instructions for adoption, supporting participatory learning

+0.20
Article 23 Work & Equal Pay
Low Framing
Editorial
+0.20
SETL
+0.20

Briefly mentions developer burden and offloading, but does not substantively address labor rights or fair compensation

ND
Article 4 No Slavery

Not addressed

ND
Article 5 No Torture

Not addressed

ND
Article 6 Legal Personhood

Not addressed

ND
Article 7 Equality Before Law

Not addressed

ND
Article 9 No Arbitrary Detention

Not addressed

ND
Article 10 Fair Hearing

Not addressed

ND
Article 11 Presumption of Innocence

Not addressed

ND
Article 13 Freedom of Movement

Not addressed

ND
Article 14 Asylum

Not addressed

ND
Article 15 Nationality

Not addressed

ND
Article 16 Marriage & Family

Not addressed

ND
Article 22 Social Security

Not addressed

ND
Article 25 Standard of Living

Not addressed

ND
Article 29 Duties to Community

Not addressed

Structural Channel
What the site does
Element Modifier Affects Note
Legal & Terms
Privacy
No observable site-wide privacy policy or banner on this article page.
Terms of Service
No observable terms of service linked from this article page.
Identity & Mission
Mission
No explicit mission statement for the F-Droid organization on this article page.
Editorial Code
No observable editorial code, standards, or corrections policy on this article page.
Ownership
No observable ownership information on this article page.
Access & Distribution
Access Model
Content is freely accessible with no paywalls or login requirements.
Ad/Tracking
No observable ads or third-party trackers on this article page.
Accessibility
No observable accessibility features or statements on this article page.
+0.70
Article 12 Privacy
High Advocacy Framing Practice
Structural
+0.70
Context Modifier
ND
SETL
+0.28

F-Droid's exclusion of proprietary libraries and tracking-free platform demonstrate structural privacy commitment

+0.60
Preamble Preamble
High Advocacy Framing
Structural
+0.60
Context Modifier
ND
SETL
+0.26

F-Droid platform embodies these principles through transparent, community-driven operations

+0.60
Article 17 Property
High Advocacy Framing
Structural
+0.60
Context Modifier
ND
SETL
0.00

F-Droid's open-source repository embodies freedom from proprietary intellectual property constraints

+0.50
Article 1 Freedom, Equality, Brotherhood
Medium Advocacy Framing
Structural
+0.50
Context Modifier
ND
SETL
+0.24

F-Droid provides equal access to open-source alternatives without discrimination

+0.50
Article 2 Non-Discrimination
Medium Framing
Structural
+0.50
Context Modifier
ND
SETL
0.00

F-Droid community model ensures non-discriminatory access

+0.50
Article 3 Life, Liberty, Security
High Advocacy Framing
Structural
+0.50
Context Modifier
ND
SETL
+0.24

F-Droid's decentralized model reduces reliance on single corporate security authority

+0.50
Article 19 Freedom of Expression
High Advocacy Framing
Structural
+0.50
Context Modifier
ND
SETL
+0.24

F-Droid provides access to expression-enabling technologies without proprietary restrictions

+0.50
Article 20 Assembly & Association
Medium Framing
Structural
+0.50
Context Modifier
ND
SETL
0.00

F-Droid model supports community-based association and collective infrastructure

+0.50
Article 21 Political Participation
Medium Framing
Structural
+0.50
Context Modifier
ND
SETL
-0.22

F-Droid's community model reflects democratic participation in software stewardship

+0.50
Article 27 Cultural Participation
Medium Advocacy Framing
Structural
+0.50
Context Modifier
ND
SETL
-0.22

F-Droid platform enables participation in technological development

+0.40
Article 8 Right to Remedy
Low Framing
Structural
+0.40
Context Modifier
ND
SETL
-0.20

F-Droid community model provides transparent, appealable governance

+0.40
Article 18 Freedom of Thought
Medium Framing
Structural
+0.40
Context Modifier
ND
SETL
0.00

F-Droid's model supports user autonomy over software choices

+0.40
Article 26 Education
Low Practice
Structural
+0.40
Context Modifier
ND
SETL
-0.20

F-Droid platform provides documentation and tutorials for technical education

+0.40
Article 30 No Destruction of Rights
Medium Framing
Structural
+0.40
Context Modifier
ND
SETL
+0.22

Decentralized architecture prevents monopolistic rights abuses

+0.30
Article 28 Social & International Order
Medium Advocacy Framing
Structural
+0.30
Context Modifier
ND
SETL
+0.20

F-Droid represents institutional challenge to proprietary platform hegemony

+0.20
Article 24 Rest & Leisure
Low Framing
Structural
+0.20
Context Modifier
ND
SETL
+0.17

F-Droid platform itself does not directly address leisure or rest

0.00
Article 23 Work & Equal Pay
Low Framing
Structural
0.00
Context Modifier
ND
SETL
+0.20

No structural support for labor rights evident in platform

ND
Article 4 No Slavery

Not addressed

ND
Article 5 No Torture

Not addressed

ND
Article 6 Legal Personhood

Not addressed

ND
Article 7 Equality Before Law

Not addressed

ND
Article 9 No Arbitrary Detention

Not addressed

ND
Article 10 Fair Hearing

Not addressed

ND
Article 11 Presumption of Innocence

Not addressed

ND
Article 13 Freedom of Movement

Not addressed

ND
Article 14 Asylum

Not addressed

ND
Article 15 Nationality

Not addressed

ND
Article 16 Marriage & Family

Not addressed

ND
Article 22 Social Security

Not addressed

ND
Article 25 Standard of Living

Not addressed

ND
Article 29 Duties to Community

Not addressed

Supplementary Signals
How this content communicates, beyond directional lean. Learn more
Epistemic Quality
How well-sourced and evidence-based is this content?
0.68 medium claims
Sources
0.6
Evidence
0.7
Uncertainty
0.7
Purpose
0.8
Propaganda Flags
No manipulative rhetoric detected
0 techniques detected
Emotional Tone
Emotional character: positive/negative, intensity, authority
hopeful
Valence
+0.6
Arousal
0.4
Dominance
0.5
Transparency
Does the content identify its author and disclose interests?
1.00
✓ Author
More signals: context, framing & audience
Solution Orientation
Does this content offer solutions or only describe problems?
0.85 solution oriented
Reader Agency
0.8
Stakeholder Voice
Whose perspectives are represented in this content?
0.65 3 perspectives
Speaks: individualsdeveloperscommunity
About: governmentcorporationinstitution
Temporal Framing
Is this content looking backward, at the present, or forward?
mixed medium term
Geographic Scope
What geographic area does this content cover?
global
Complexity
How accessible is this content to a general audience?
moderate medium jargon domain specific
Longitudinal · 4 evals
+1 0 −1 HN
Audit Trail 17 entries
2026-02-28 13:29 eval Evaluated by claude-haiku-4-5-20251001: +0.50 (Moderate positive)
2026-02-28 10:43 eval_success Lite evaluated: Moderate positive (0.40) - -
2026-02-28 10:43 eval Evaluated by llama-4-scout-wai: +0.40 (Moderate positive)
reasoning
Editorial on decentralized push notifications and privacy
2026-02-28 10:43 rater_validation_warn Lite validation warnings for model llama-4-scout-wai: 0W 1R - -
2026-02-28 10:36 eval_success Lite evaluated: Moderate positive (0.40) - -
2026-02-28 10:36 rater_validation_warn Lite validation warnings for model llama-3.3-70b-wai: 0W 1R - -
2026-02-28 10:36 eval Evaluated by llama-3.3-70b-wai: +0.40 (Moderate positive)
reasoning
Promoting open-source alternative
2026-02-26 18:26 eval_success Evaluated: Moderate positive (0.58) - -
2026-02-26 18:26 eval Evaluated by deepseek-v3.2: +0.58 (Moderate positive) 12,515 tokens
2026-02-26 17:26 dlq Dead-lettered after 1 attempts: UnifiedPush: A decentralized, open-source push notification protocol - -
2026-02-26 17:24 rate_limit OpenRouter rate limited (429) model=llama-3.3-70b - -
2026-02-26 17:23 rate_limit OpenRouter rate limited (429) model=llama-3.3-70b - -
2026-02-26 17:22 rate_limit OpenRouter rate limited (429) model=llama-3.3-70b - -
2026-02-26 12:20 dlq Dead-lettered after 1 attempts: UnifiedPush: A decentralized, open-source push notification protocol - -
2026-02-26 12:18 rate_limit OpenRouter rate limited (429) model=llama-3.3-70b - -
2026-02-26 12:17 rate_limit OpenRouter rate limited (429) model=llama-3.3-70b - -
2026-02-26 12:16 rate_limit OpenRouter rate limited (429) model=llama-3.3-70b - -