+0.33 Improving Firefox Responsiveness on macOS (hacks.mozilla.org S:+0.15 )
780 points by Amorymeltzer 1236 days ago | 374 comments on HN | Mild positive Editorial · v3.7 · 2026-02-28 12:32:30
Summary Open Knowledge Sharing Acknowledges
A technical blog post by Mozilla engineer Gabriele Svelto explaining Firefox's improved macOS responsiveness through memory allocator optimization. The article engages positively with UDHR Articles 19 (freedom of expression and information), 26 (right to education), and 27 (participation in scientific advancement) through open publication, transparent technical education, and contribution to the scientific commons. Published without barriers and with clear attribution, the content exemplifies institutional commitment to knowledge democratization.
Article Heatmap
Preamble: ND — Preamble Preamble: No Data — Preamble P Article 1: ND — Freedom, Equality, Brotherhood Article 1: No Data — Freedom, Equality, Brotherhood 1 Article 2: ND — Non-Discrimination Article 2: No Data — Non-Discrimination 2 Article 3: ND — Life, Liberty, Security Article 3: No Data — 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: ND — Right to Remedy Article 8: No Data — 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: ND — Privacy Article 12: No Data — 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: ND — Property Article 17: No Data — Property 17 Article 18: ND — Freedom of Thought Article 18: No Data — Freedom of Thought 18 Article 19: +0.30 — Freedom of Expression 19 Article 20: ND — Assembly & Association Article 20: No Data — Assembly & Association 20 Article 21: ND — Political Participation Article 21: No Data — Political Participation 21 Article 22: ND — Social Security Article 22: No Data — Social Security 22 Article 23: ND — Work & Equal Pay Article 23: No Data — Work & Equal Pay 23 Article 24: ND — Rest & Leisure Article 24: No Data — Rest & Leisure 24 Article 25: ND — Standard of Living Article 25: No Data — Standard of Living 25 Article 26: +0.24 — Education 26 Article 27: +0.24 — Cultural Participation 27 Article 28: ND — Social & International Order Article 28: No Data — Social & International Order 28 Article 29: ND — Duties to Community Article 29: No Data — Duties to Community 29 Article 30: ND — No Destruction of Rights Article 30: No Data — No Destruction of Rights 30
Negative Neutral Positive No Data
Aggregates
Editorial Mean +0.33 Structural Mean +0.15
Weighted Mean +0.27 Unweighted Mean +0.26
Max +0.30 Article 19 Min +0.24 Article 26
Signal 3 No Data 28
Confidence 7% Volatility 0.03 (Low)
Negative 0 Channels E: 0.6 S: 0.4
SETL +0.25 Editorial-dominant
FW Ratio 50% 9 facts · 9 inferences
Evidence: High: 1 Medium: 2 Low: 0 No Data: 28
Theme Radar
Foundation Security Legal Privacy & Movement Personal Expression Economic & Social Cultural Order & Duties Foundation: 0.00 (0 articles) Security: 0.00 (0 articles) Legal: 0.00 (0 articles) Privacy & Movement: 0.00 (0 articles) Personal: 0.00 (0 articles) Expression: 0.30 (1 articles) Economic & Social: 0.00 (0 articles) Cultural: 0.24 (2 articles) Order & Duties: 0.00 (0 articles)
HN Discussion 20 top-level · 30 replies
jhatax 2022-10-10 15:52 UTC link
Great to hear that Firefox on macOS might get snappier with these changes. The reliance on undocumented APIs is the only potential red flag.

Out of curiosity, does Chromium use spinlocks on macOS? If they do in a scenario where characteristics need to be similar to the jemalloc use case, how are they accomplishing the outcome?

solarkraft 2022-10-10 16:18 UTC link
> If you’re running Firefox on macOS you might have noticed that its responsiveness has improved significantly in version 103, especially if you’ve got a lot of tabs, or when your machine is busy running other applications at the same time.

Huh, now that you say it: I haven't been all that angry at Firefox lately.

lapcat 2022-10-10 16:20 UTC link
Note that Firefox is distributed outside the Mac App Store, otherwise the use of private functions would be disallowed by Apple.
Fidgeting0026 2022-10-10 16:32 UTC link
Has the battery life issue improved with Firefox at all in the last year or two? I had to choose between degoogled-chromium and Safari because videos drained my battery so fast on my Macbook.
zerop 2022-10-10 16:36 UTC link
I have been using FF on MacOS. Will checkout this. I moved from Chrome and finding this good so far. I face two issues though:

1. Switching on/off VPN would hamper the connectivity (sometimes only), not sure if this specific to my network

2. Responsiveness is an issue, key type response is slower. I will check if this new version helps.

Thanks FF team for your efforts.

mcovalt 2022-10-10 17:00 UTC link
Note that the version of Firefox this article references was released on July 26, 2022.
_ph_ 2022-10-10 17:11 UTC link
I have been a very happy Firefox user for several years but recently (with 104) I noticed how it uses massive amounts of CPU when being idle. About 60-120% CPU are not uncommon. In the task manager there is no task with heavy CPU load. It seems to get somewhat better over time, but it is really significant, making my Macs quite loud with just an idle Firefox.
meisel 2022-10-10 17:14 UTC link
How does chrome deal with this in whatever allocator they use?
bgro 2022-10-10 17:29 UTC link
The trick to using Firefox on mac like 5 years ago was to use the developer edition. For some reason it was way faster than standard Firefox. I don't know if that's still the case, but I stick to it for good luck.
runlevel1 2022-10-10 17:39 UTC link
I tried Firefox again a few days ago, and it was indeed noticeably snappier. In fact, it felt snappier than Chrome on the handful of sites I tried.

With all the things they've addressed in Firefox recently and with Chrome's manifest v3 nonsense, I'm running out of reasons not to switch.

magicalhippo 2022-10-10 17:40 UTC link
The go-to synchronization primitive on Windows, critical sections[1], does a short spin in then waits.

To me it has always seemed as a decent strategy, and when working on a cross-platform heavily multi-threaded code base which had a fairly contested hot-spot, Windows performed quite well using just plain critical sections.

[1]: https://learn.microsoft.com/en-us/windows/win32/sync/critica...

Sirened 2022-10-10 17:58 UTC link
you just know someone at apple is having a terrible day now that they realized they'll have to support their weird hack for hybrid spinlocks forever now that firefox adopted it
wafriedemann 2022-10-10 18:35 UTC link
I have been using FIrefox as my main browser on Mac for a couple of months now (again) and it really does feel like they've done a lot of performance enhancing under the hood.

It's really the only browser left that let's you do deep customization. With the right settings (not that many) you can basically strip it of all bloat. And of course it will be the last (big) browser with full Ubo support when Google introduces Manifest 3 (Ubo was also the reason I switched from Safari to Firefox).

lxe 2022-10-10 18:47 UTC link
I'm using Firefox on Windows 11 and it's noticeably clunkier than Chrome, especially when using heavy web apps like Jupyter Lab. Oftentimes the browser hangs completely, including all its windows, for 10-30 seconds at a time.

This has been my experience over the years every time I've attempted to switch back from Chrome to Firefox.

Jarred 2022-10-10 19:13 UTC link
Have you looked at `__ulock_wake` versus `os_unfair_lock_with_options`? __ulock_wake is another private darwin API for locking.

From some Zig code:

        // Darwin XNU 7195.50.7.100.1 introduced __ulock_wait2 and migrated code paths (notably pthread_cond_t) towards it:
        // https://github.com/apple/darwin-xnu/commit/d4061fb0260b3ed486147341b72468f836ed6c8f#diff-08f993cc40af475663274687b7c326cc6c3031e0db3ac8de7b24624610616be6
        //
        // This XNU version appears to correspond to 11.0.1:
        // https://kernelshaman.blogspot.com/2021/01/building-xnu-for-macos-big-sur-1101.html
        //
        // ulock_wait() uses 32-bit micro-second timeouts where 0 = INFINITE or no-timeout
        // ulock_wait2() uses 64-bit nano-second timeouts (with the same convention)
pagade 2022-10-10 20:40 UTC link
For a while now, performance has not been an issue for me to not use Firefox. It's the no support for the multiline tabs and/or tab groups. Both features which were previously possible in Firefox. This is pretty much a blocker for me and they don't seem to have any plan to fix this.
dan-robertson 2022-10-10 22:26 UTC link
I’m curious how it was determined that the locking was causing problems? Was it just some intuition from cases with poor performance and staring at code, or some perf-like tool (I don’t really know about the landscape of performance monitoring tools for MacOS) highlighting that a lot of time was spent in locks, or some known MacOS vs others difference?

I think I also don’t understand the discussion about spinning in kernel space. Doesn’t that require context switches which the article points out have issues? I would have guessed the answer would be to spin a bit in userspace with architecture-specific instructions like pause and then syscall if the lock couldn’t be acquired. Maybe I just don’t really know how syscalls work on a Mac.

I’m also weakly curious why jemalloc needs so much locking anyway? I haven’t thought about this at all so I’m surely missing something but my guess would be allocation from per-thread pools with occasional synchronisation, and that this synchronisation would be too infrequent to have these issues.

saagarjha 2022-10-10 22:29 UTC link
This blog post has some good discussion about what makes a good locking primitive. On macOS, os_unfair_lock is generally a good choice for many applications. That said,

> At this point, you might wonder if os_unfair_lock – possibly coupled with the undocumented flags – would be a good fit for your codebase. My answer is likely yes but you’ll have to be careful when using it.

I would hesitate to give this advice. The overwhelming majority of applications on macOS do not have performance profiles like Firefox does. The system allocator (rather than jemalloc) is the right choice for all but very few use cases. There are a vanishingly small number of usecases where using the undocumented flags is appropriate.

The rules are different when you’re a popular browser with an existing relationship with Apple and dozens of smart engineers who can (at least in theory) understand the consequences of using this API, and leverage an existing relationship with Apple to ensure that it doesn’t become a liability in the future as the platform evolves. For pretty much everyone else, this should be nothing more than a “wow, neat” blog post.

thecosmicfrog 2022-10-10 22:52 UTC link
I've noticed pretty obvious performance improvements in Google Maps recently on macOS (with original M1 chip). Zooming and panning is much more responsive, akin to using Maps on Google Chrome. I wonder if this could have contributed?
carbonatedmilk 2022-10-11 04:39 UTC link
I've recently switched from Firefox to Orion. Ideologically, I'm Firefox all the way - But even in beta, Orion is such a better browser. * Vertical tabs * Support for most of the extensions I need * Much better battery life (at least 1hr+ extra on my 14" M1 Pro MBP) * Better RAM usage

I get the occasional tab freeze / crash, and it has some glitches with Google Docs / Sheets, but it just feels so much faster and uses much less RAM too

l1n 2022-10-10 15:55 UTC link
gizmo 2022-10-10 16:34 UTC link
On m2 MBA firefox battery life is fantastic
blinkingled 2022-10-10 16:43 UTC link
I am sure Apple's own Mac App Store apps are free to use those though right?
hugocbp 2022-10-10 16:59 UTC link
1 happens to me as well. And I even use the Mozilla VPN. I noticed it also happens with Cloudfare's Warp. Turning it on/off or even closing the display while they are active sometimes result in complete loss of connectivity when trying to interact with a tab again.

A lot of times, I have to close the current tab and open a new one to regain connectivity.

It is my only issue with Firefox on mac, currently.

d3nj4l 2022-10-10 17:09 UTC link
Yeah, video on Firefox is so much worse than any other browser it's insane. Safari still has weird issues with pitch shifting videos playing at over 1x (1, it's an issue with webkit, as it affects Orion as well,) which makes it unviable for me as well. So I'm stuck with... Brave, despite having issues with it too.

Sigh.

1: https://orionfeedback.org/d/149-poor-audio-quality-when-play...

magicalhippo 2022-10-10 17:14 UTC link
Similar on Windows FWIW. It could be using a full core or more, but FF task manager shows barely any activity.

Not always, but often.

jeffbee 2022-10-10 17:17 UTC link
It's designed to avoid contention. The allocator mutex is tuned for fastest uncontended acquire and release.
ccouzens 2022-10-10 17:20 UTC link
And how does Firefox deal with it on other platforms? (Windows, desktop Linux, Android Linux)
shadowgovt 2022-10-10 17:26 UTC link
See in the article where the author says

> Memory allocators have to be thread safe and – in order to be performant – need to be able to serve a large number of concurrent requests from different threads.

Another approach is to create a bunch of individual allocators that all hold onto a big chunk of memory that only a small set of threads (or even one thread) use. These allocators only contend for locks with each other when they need to fetch more memory from the OS. Otherwise, they just hold onto the big slab of memory they've allocated, give it out when needed, and when it's "deallocated" they keep holding onto it instead of handing it back to the OS, under the expectation that the thread (or small pool of threads) they're managing memory for will need more again soon.

The only downside to this approach is that over time, the app ends up holding onto tons of memory it's not using right now, on the assumption it will be needed in the future.

Ever notice how Chrome eats memory like it's a three-year-old at an ice cream buffet? That performance ain't free.

ziml77 2022-10-10 17:49 UTC link
Issue is still there. I tried using it again a few weeks ago and it had significantly higher power usage on my M1 MBP than Chromium browsers.
clairity 2022-10-10 17:52 UTC link
as someone with many tabs across many windows across many desktops/spaces, one weird trick i found is that when firefox starts up (on an intel MBP, 2019), it will churn CPU at over 100% until you go and foreground each of the windows in each of the workspaces. then the CPU usage becomes normal. perhaps it has to do with extensions like noscript or ublock origin, or my propensity to start firefox without internet access, but i don't think that matters here. not sure why this happens, but it's been required across at least the last few firefox restarts for me.
seba_dos1 2022-10-10 18:00 UTC link
I remember reading this article around that time too. Not sure why it shows as released today (or am I having a deja vu?).

[edit] Could be this Twitter thread that I have in mind: https://twitter.com/gabrielesvelto/status/155808346105915392...

TillE 2022-10-10 18:11 UTC link
That's definitely not how Apple works. They'll just break it if they want to, though the change would probably show up in a beta OS first.
mattnewton 2022-10-10 18:18 UTC link
I'd actually bet nobody at apple cares if they break Firefox users, they don't have the backwards compatibility culture of some companies like microsoft, especially for undocumented apis.
ec109685 2022-10-10 18:21 UTC link
It's a private flag. Doubtful Apple's review process would be able to catch that.
btdmaster 2022-10-10 18:31 UTC link
Have you tried H264 video? https://addons.mozilla.org/en-US/firefox/addon/h264ify/

(I was reading https://bugzilla.mozilla.org/show_bug.cgi?id=1736878, which suggested VP9 is not yet there.)

callahad 2022-10-10 18:36 UTC link
For a few years, DevEdition had multiple content processes enabled (codename "electrolysis", aka e10s), while it was still off in release builds. That made a huge, huge difference to responsiveness and resilience.
nrclark 2022-10-10 18:36 UTC link
I have the VPN problem too. For me, it's a proxy thing. My company puts an HTTP proxy in-place inside of their VPN, and Firefox picks up the settings from MacOS.

When I disconnect from VPN, Firefox still has the VPN's proxy settings. I have to restart it to refresh Firefox's cached proxy settings. So that means I effectively have to restart Firefox any time I change between VPN and non-VPN.

If that's your problem too, then I don't have a fix for it. I'd love to hear if anybody else does though.

eshack94 2022-10-10 18:42 UTC link
Hey, would you mind posting some tips (or an article/link) describing how you stripped the bloat from your Firefox config?

I'm in the same situation as a lot of others here, where I'm thinking about permanently migrating back to Firefox after Chrome takes their Manifest v3 + WebRequest API changes live, and I'd love to know how I can improve the performance of Firefox & ensure my configuration is as good as it can be.

boarush 2022-10-10 19:26 UTC link
Even if the battery life is not that good as with Safari, there's nothing like Multi-Account Containers extension on other browsers. Helps a lot with separating accounts with added conveniences. Can't really go back to any other browser after having used containers on Firefox!
mnurzia 2022-10-10 19:33 UTC link
Musl libc also does this for threads, spinning 100 times by default before switching to a heavier system wait (see line 71): https://git.musl-libc.org/cgit/musl/tree/src/thread/pthread_...
gsvelto 2022-10-10 19:47 UTC link
Post author here, `__ulock_wait2` is used under the hood by `os_unfair_lock()`. I considered it but it would have required more scaffolding, especially to support all the versions of macOS we care about. We might use it in the future though.
Forgeties79 2022-10-10 19:47 UTC link
I’ve been on brave for about 2 years now and all I see people talk about is Firefox. Should I swap? I thought people liked brave but I really don’t see it mentioned anymore.
astrange 2022-10-10 19:48 UTC link
My experience is that poor performance esp. memory use is often caused by bugs, and you can't predict the presence of bugs based on whether or not you think a feature is "bloat". Though you can simplify the UI I suppose.

Turning off random browser features only works if you accept that you'll break random websites and won't know why without debugging each one.

cbsmith 2022-10-10 19:51 UTC link
Per the documentation (https://github.com/apple/darwin-xnu/blob/main/bsd/kern/sys_u...), it looks like ulock_wait might be one of the XNU primitives that supports os_unfair_lock.
novaRom 2022-10-10 19:56 UTC link
Personal experience: Battery drain was always my problem with Firefox on MacOs. Why when using Safari it is nice and full day surfing w/o recharge; but doing the same with Firefox would discharge laptops battery much faster.
MiddleEndian 2022-10-10 20:41 UTC link
It's so clear how Mac OS and Windows both can function without app stores that it's obvious that app stores are a rent-seeking middle men. Terrible that they've been normalized for mobile devices.
babypuncher 2022-10-10 20:44 UTC link
I've been shilling for Firefox for years. It is my primary browser for both development and personal use. But I still think it has some catching up to do with Chrome.

I have a web app that allows customers to make templates for their standard operating procedures that they pull from our main product. For writing steps and substeps, I use a WYSIWYG HTML editor called TynyMCE. I went with it because I was able to implement it in an afternoon, their licensing was compatible with our use, and I had a tight deadline.

We failed to anticipate just how large some of the templates clients would be making, so sometimes when they open a template they end up having a couple hundred of these editors hidden behind drag and drop enabled accordions.

Firefox chokes on the initial TinyMCE calls for these large templates, taking quite a long time to fully render the page. Once it's done, everything is nice and snappy, but it's like a 20-30 second wait after the wire even on my beefy 5900x.

Chrome seems to handle this just fine.

It's possible that the culprit is a bad polyfill or a Firefox-specific bug in TinyMCE, I haven't put much work into diagnosing it yet beyond verifying that TinyMCE is eating up all the CPU time. For now my planned solution is to just write my own WYSIWYG editor, because TinyMCE ultimately offers a lot more than we actually need, and it was only a stopgap solution to get out a polished MVP. But needless to say, for the first time in years, I found myself spending a non-trivial amount of development time in Chrome. Sadly I've never actually had a client use this app with anything other than Chrome or Safari, so this is naturally a low-priority issue.

cbsmith 2022-10-10 20:44 UTC link
You might be confusing a feature for a bug. ;-)
ryall 2022-10-10 20:46 UTC link
For me, having to log in to multiple AWS accounts, Firefox containers are a killer feature
Editorial Channel
What the content says
+0.40
Article 19 Freedom of Expression
High Framing Practice
Editorial
+0.40
SETL
+0.32

Article exemplifies freedom to impart and disseminate information through detailed, transparent technical documentation. Complex engineering concepts are explained clearly and honestly, supporting freedom of expression through knowledge sharing. Implementation details, including undocumented APIs, are documented to advance collective understanding.

+0.30
Article 26 Education
Medium Framing Practice
Editorial
+0.30
SETL
+0.21

Article provides substantive technical education to software developers, explaining complex concepts (memory allocation, thread safety, kernel-space operations, CPU cache mechanics) with progressive clarity. Step-by-step analysis supports critical thinking about engineering tradeoffs and design decisions.

+0.30
Article 27 Cultural Participation
Medium Framing Practice
Editorial
+0.30
SETL
+0.21

Article documents scientific and technical advancement in memory allocator optimization. Shares methodology, engineering reasoning, performance data, and implementation details with the technical community, enabling participation in scientific progress.

ND
Preamble Preamble

Preamble affirms equal and inalienable rights and dignity; article does not engage foundational human rights principles.

ND
Article 1 Freedom, Equality, Brotherhood

Not addressed in content.

ND
Article 2 Non-Discrimination

Not addressed in content.

ND
Article 3 Life, Liberty, Security

Not addressed in content.

ND
Article 4 No Slavery

Not addressed in content.

ND
Article 5 No Torture

Not addressed in content.

ND
Article 6 Legal Personhood

Not addressed in content.

ND
Article 7 Equality Before Law

Not addressed in content.

ND
Article 8 Right to Remedy

Not addressed in content.

ND
Article 9 No Arbitrary Detention

Not addressed in content.

ND
Article 10 Fair Hearing

Not addressed in content.

ND
Article 11 Presumption of Innocence

Not addressed in content.

ND
Article 12 Privacy

Not addressed in content; article focuses on technical implementation details rather than privacy principles.

ND
Article 13 Freedom of Movement

Not addressed in content.

ND
Article 14 Asylum

Not addressed in content.

ND
Article 15 Nationality

Not addressed in content.

ND
Article 16 Marriage & Family

Not addressed in content.

ND
Article 17 Property

Not addressed in content.

ND
Article 18 Freedom of Thought

Not addressed in content.

ND
Article 20 Assembly & Association

Not addressed in content.

ND
Article 21 Political Participation

Not addressed in content.

ND
Article 22 Social Security

Not addressed in content.

ND
Article 23 Work & Equal Pay

Not addressed in content.

ND
Article 24 Rest & Leisure

Not addressed in content.

ND
Article 25 Standard of Living

Not addressed in content.

ND
Article 28 Social & International Order

Not addressed in content.

ND
Article 29 Duties to Community

Not addressed in content.

ND
Article 30 No Destruction of Rights

Not addressed in content.

Structural Channel
What the site does
Element Modifier Affects Note
Privacy +0.15
Article 12
Site implements Google Analytics and GTM tracking with UTM parameter removal utility, indicating awareness of privacy concerns but continued analytics deployment.
Terms of Service
Terms of service not observable in provided content.
Accessibility +0.10
Article 2 Article 19
Standard WordPress accessibility CSS classes present (wp-block structure), indicating baseline accessibility standards.
Mission +0.20
Article 19 Article 27
Mozilla's stated mission around open web and developer empowerment aligns with knowledge-sharing and technical security education.
Editorial Code +0.05
Article 19
Technical blog format with clear author attribution and date stamps supports editorial transparency.
Ownership +0.10
Article 19
Mozilla Foundation ownership as non-profit organization supports commitment to public interest over profit-driven content.
Access Model +0.15
Article 26
Open access technical content published without paywall or registration barrier.
Ad/Tracking -0.10
Article 12
Google Analytics and GTM tracking present on page reduces privacy score despite Mozilla's privacy advocacy.
+0.15
Article 19 Freedom of Expression
High Framing Practice
Structural
+0.15
Context Modifier
ND
SETL
+0.32

Content published on open web without paywall, registration, or access restrictions. Clear attribution of authorship and publication date support transparency. Mozilla's non-profit institutional ownership aligns with public interest over profit-driven information gatekeeping.

+0.15
Article 26 Education
Medium Framing Practice
Structural
+0.15
Context Modifier
ND
SETL
+0.21

Technical educational content published openly without barriers. Published by established, credible institution (Mozilla) with recognized expertise in software engineering, supporting educational legitimacy and access.

+0.15
Article 27 Cultural Participation
Medium Framing Practice
Structural
+0.15
Context Modifier
ND
SETL
+0.21

Technical advances published openly to benefit scientific and open-source communities. Open-source development model enables global participation in scientific advancement. Mozilla stewardship reflects commitment to public scientific benefit.

ND
Preamble Preamble

Not applicable.

ND
Article 1 Freedom, Equality, Brotherhood

Not applicable.

ND
Article 2 Non-Discrimination

Not applicable.

ND
Article 3 Life, Liberty, Security

Not applicable.

ND
Article 4 No Slavery

Not applicable.

ND
Article 5 No Torture

Not applicable.

ND
Article 6 Legal Personhood

Not applicable.

ND
Article 7 Equality Before Law

Not applicable.

ND
Article 8 Right to Remedy

Not applicable.

ND
Article 9 No Arbitrary Detention

Not applicable.

ND
Article 10 Fair Hearing

Not applicable.

ND
Article 11 Presumption of Innocence

Not applicable.

ND
Article 12 Privacy

Not applicable.

ND
Article 13 Freedom of Movement

Not applicable.

ND
Article 14 Asylum

Not applicable.

ND
Article 15 Nationality

Not applicable.

ND
Article 16 Marriage & Family

Not applicable.

ND
Article 17 Property

Not applicable.

ND
Article 18 Freedom of Thought

Not applicable.

ND
Article 20 Assembly & Association

Not applicable.

ND
Article 21 Political Participation

Not applicable.

ND
Article 22 Social Security

Not applicable.

ND
Article 23 Work & Equal Pay

Not applicable.

ND
Article 24 Rest & Leisure

Not applicable.

ND
Article 25 Standard of Living

Not applicable.

ND
Article 28 Social & International Order

Not applicable.

ND
Article 29 Duties to Community

Not applicable.

ND
Article 30 No Destruction of Rights

Not applicable.

Supplementary Signals
How this content communicates, beyond directional lean. Learn more
Epistemic Quality
How well-sourced and evidence-based is this content?
0.88 low claims
Sources
0.9
Evidence
0.8
Uncertainty
0.8
Purpose
0.9
Propaganda Flags
No manipulative rhetoric detected
0 techniques detected
Emotional Tone
Emotional character: positive/negative, intensity, authority
measured
Valence
+0.3
Arousal
0.2
Dominance
0.6
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.35 3 perspectives
Speaks: individualsinstitution
About: individualsinstitution
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?
technical high jargon domain specific
Audit Trail 11 entries
2026-02-28 12:32 model_divergence Cross-model spread 0.27 exceeds threshold (3 models) - -
2026-02-28 12:32 eval Evaluated by claude-haiku-4-5-20251001: +0.27 (Mild positive)
2026-02-28 10:45 eval_success Lite evaluated: Neutral (0.00) - -
2026-02-28 10:45 rater_validation_warn Lite validation warnings for model llama-4-scout-wai: 0W 1R - -
2026-02-28 10:45 eval Evaluated by llama-4-scout-wai: 0.00 (Neutral)
2026-02-28 10:43 eval_success Lite evaluated: Neutral (0.00) - -
2026-02-28 10:43 eval Evaluated by llama-3.3-70b-wai: 0.00 (Neutral) 0.00
2026-02-28 10:43 rater_validation_warn Lite validation warnings for model llama-3.3-70b-wai: 0W 1R - -
2026-02-28 10:38 eval_success Lite evaluated: Neutral (0.00) - -
2026-02-28 10:38 eval Evaluated by llama-3.3-70b-wai: 0.00 (Neutral)
2026-02-28 10:38 rater_validation_warn Lite validation warnings for model llama-3.3-70b-wai: 0W 1R - -