HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
GrapheneOS
os-issue-tracker
Security & Privacy2021–2026
GrapheneOS / os-issue-tracker

os-issue-tracker

Issue tracker for GrapheneOS Android Open Source Project hardening work. Standalone projects like Auditor, AttestationServer and hardened_malloc have their own dedicated trackers.

32Distinct people
45Mentions
2Explicit recommenders
658GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Issue tracker for GrapheneOS Android Open Source Project hardening work. Standalone projects like Auditor, AttestationServer and hardened_malloc have their own dedicated trackers.

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

Rooting is a very bad idea. https://madaidans-insecurities.github.io/android.html#rootin... But GrapheneOS is fully open source and provides great build instructions, so you…

Andromxda used a recommendation phrase. 2 indexed comments match. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 12:45:45 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year45 dated mentions

Observed mentions: 2021-02-15 20:32:42 UTC to 2026-09-12 10:24:47 UTC.

051015202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 9 mentions; 0 submissions, 9 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 8 mentions; 0 submissions, 8 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 18 mentions; 0 submissions, 18 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC909
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC202
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC404
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC404
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC808
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC18018

What Hacker News says

9 sources
The linked page is not from the GrapheneOS project. It's from a company selling the phones. The best place to read about what's offered by GrapheneOS is at https://grapheneos.org/features. Sandboxed Play services compatibility layer is explained at https://grapheneos.org/usage#sandboxed-play-services. > Well, while I like a lot of things about Graphene, at the moment there is at least one aspect of it which makes it somehow unusable (see https://github.com/GrapheneOS/os-issue-tracker/issues/24) This seems like an extremely minor thing to nitpick over... > Currently Graphene does not support Network Location Providers. So, apps won't be able to get location when you are indoors and location lookups would be slow. It doesn't bundle them in the OS and the OS doesn't trust third party providers. It doesn't mean that network location providers
Read the rest
can't be used. They can still be used by apps and provided by apps to other apps such as how it works with the Play services location APIs. We also aren't going to be sending real time location information to that kind of network service, especially if it's a proprietary service from Apple/Google/Mozilla rather than something we can self-host. We don't particularly want to host a server receiving that kind of sensitive data though. We want a robust and secure local implementation respecting the OS security model for location providers. We'll need to set up generating databases for different regions, signing them and hosting them on a server. A new client needs to be developed for this. > At the same time they use SeedVault which is developed by Calyx. I guess they need to add some notes on this into their FAQ. GrapheneOS came up with the overall design/concept of SeedVault and it was implemented by a member of our community long before CalyxOS existed. They started funding development work on it but they didn't create it and it isn't inherently their project. We fully intend to fund development on improving backups and will be splitting away from what SeedVault has become for various reasons including their actions against us. The developer they're funding to work on SeedVault is NOT hostile towards us but their involvement is concerning to us nonetheless. > So, while I think that Graphene has a lot of good properties (e.g. sandboxed Play Services are MUCH better than microg) and is somehow superior to Calyx https://grapheneos.org/features explains what it provides. > I won't recommend Graphene to a regular user who is privacy concerned but doesn't want to trade too much for privacy It has much broader app compatibility, so what are you trading away for better privacy and security? Is this entirely about the OS itself not feeding your location to Mozilla to get back a location estimate based on their proprietary Wi-Fi data and the openly available cellular data? The cellular data would be put to much better use by via regional databases distributed from a first party server, with a first party location service locally consuming them while respecting the security model for this. > For such people CalyxOS (probably a self-build) looks like a better option. All simply because we don't do include a network location service? Really? > Also there is some strange conflict between Graphene and Calyx, for some reason unknown to me Graphene guys consider Calyx as "malicious project" (see https://github.com/GrapheneOS/os-issue-tracker/issues/632#is...). It comes down to the CalyxOS project and community spreading misinformation and attacks on GrapheneOS and GrapheneOS developers across platforms along with engaging in substantial harassment. Our project members have been regularly impersonated by clearly fake sockpuppet accounts too, which were then used to engage in ridiculous false flag attacks such as https://github.com/bromite/bromite/discussions/1186 and the Monero incident brought up below although with the spin that we did something wrong when we were impersonated. It has become ridiculous, with this misinformation spread whenever GrapheneOS is brought up and with our developers subjected to substantial bullying and harassment. You're a member of the CalyxOS community doing exactly the kind of thing that has led to this situation, including what you did on our issue tracker. It may seem small, but you started a whole pile on from the usual suspects lying about it here and you're representing CalyxOS whether you like it or not. They welcome you in their community, as they do others, and encourage you to attack us. Nick himself has directly engaged in vicious bullying and harassment.
In NitroPhone – Pixel 4a phone with GrapheneOS
Well, while I like a lot of things about Graphene, at the moment there is at least one aspect of it which makes it somehow unusable (see https://github.com/GrapheneOS/os-issue-tracker/issues/24) Currently Graphene does not support Network Location Providers. So, apps won't be able to get location when you are indoors and location lookups would be slow. Also there is some strange conflict between Graphene and Calyx, for some reason unknown to me Graphene guys consider Calyx as "malicious project" (see https://github.com/GrapheneOS/os-issue-tracker/issues/632#is...). At the same time they use SeedVault which is developed by Calyx. I guess they need to add some notes on this into their FAQ. So, while I think that Graphene has a lot of good properties (e.g. sandboxed Play Services are MUCH better than microg) and is somehow superior to Calyx,
Read the rest
I won't recommend Graphene to a regular user who is privacy concerned but doesn't want to trade too much for privacy. For such people CalyxOS (probably a self-build) looks like a better option.
In NitroPhone – Pixel 4a phone with GrapheneOS
Tech discussion begins at 14:00. At 21:00 [0] Snowden calls for [developers to build] smartphone tools to let users take control of their devices (wouldn't be for the first time). While a no-root, user-space firewall can only do so much (Daniel Micay will attest to that [1] :), that's what we are building with RethinkDNS (https://github.com/celzero/rethink-app) for Android phones, picking up where WhisperSystems left off [2]. This other complementary Android app (doesn't require root, but does require "developer mode" turned on) I use, gives a lot more control over installed apps and its components (no so much over the device's network itself): https://github.com/MuntashirAkon/AppManager While Google continues to make significant improvements [3], security-focused Android distributions like CalyxOS and Graphene remain the best avenues to
Read the rest
tackle privacy concerns today, but most of the 2B+ Android users don't really want to root devices let alone flash ROMs. Most Chinese OEMs (Vivo, Oppo, OnePlus, Realme, Xiaomi) do bundle in (pretty decent though limited) firewalls but they do not let one visualize or block individual network requests. It'd be quite sometime before the Android/Fuchsia-iOS duopoly is displaced from its perch, but technology-wise, my longer-term hopes are pinned on Linux-based phones (PINE64, Librem) for now. Of course, laws and regulations upholding digital privacy are the real end-game, and it remains to be seen how much headway is made on that front in the coming decade. [0] https://youtu.be/e9yK1QndJSM?t=1261 [1] https://github.com/GrapheneOS/os-issue-tracker/issues/389 [2] https://web.archive.org/web/20110506050715/http://www.whispe... [3] https://security.googleblog.com/search/label/android
In Edward Snowden on privacy and threats to democracy (2019) [video]
> He is also, in my opinion, overworked. It would certainly help if people like yourself were not prolifically spreading misinformation and false claims about the project and myself. Luckily, I am not writing most of the GrapheneOS code at this time. > packages/apps/Gallery/src/com/android/camera/MenuHelper.java (calls maps.google.com) Not used. > packages/apps/Settings/src/com/android/RadioInfo.java (multiple connectivity checks pinging Google servers) This is a developer / debugging UI with ping buttons doing what they say on the tin. > external/webrtc/webrtc/p2p/stunprober/main.cc (uses a Google STUN server) Code is not included in the OS. > packages/apps/Nfc/src/com/android/nfc/P2pLinkManager.java The code is not used, and it doesn't do what you say. It's code for creating and sending a link to an app on the Play Store. It isn't code
Read the rest
for accessing it. > And BTW again, this says nothing about SUPL, which is still tracked as an issue about which there isn't a lot of clarity: https://github.com/GrapheneOS/os_issue_tracker/issues/96 It is clear to us and I've explained it here. There is nothing that needs to be rationalized away but rather you grepped through the code and your confirmation bias + lack of research led you to make bad assumptions. You didn't submit issue reports, patches or even make an attempt to talk about this. If you had, it could have been explained that you were making mistakes. Perhaps you could have done something useful instead of wasting your time. Perhaps you could have informed yourself instead of leading yourself astray with your confirmation bias and assumptions. It doesn't really matter now. Please stop spreading misinformation about GrapheneOS and myself though. Leave us out of it. I think it says a lot that your post was the highest voted and that spreading misinformation and making false claims is how you folks choose to operate. You do not do useful work, but rather try to hurt projects that do, in order to promote something else. Maybe you should promote it based on the merits instead of with false claims about us. I'm not sure why you're comparing our privacy and security hardening work with a hardware project which it could be used on in the first place. If a 'strong personality' means an intolerance for dishonesty then that's certainly the case. Unfortunately, certain companies focused entirely on marketing / branding take the approach of spreading misinformation about others because they do not have any substance themselves. Producing an incredibly insecure product but branding it as secure and attacking others is par for the course. That's pretty much the whole privacy and security industry. GrapheneOS is a non-profit open source project and we'll continue doing our work regardless of these kinds of continued attempts to spread misinformation about it and cause harm to us. Companies and products will come and go. We'll still be working on genuine privacy and security improvements across the software and hardware world in one way or another. We are not trying to sell a product and we don't have this motivation to tear down others with misinformation. If it's bad, then we'll say so. Our documentation is very honest about what we provide and what we don't provide in the various projects we work on. It is very open about the trade-offs of the design choices, etc. We're confident that the project will succeed on the merits without needing to make up a lot of BS about it and about others. We intend to work with hardware partners and others with the same kinds of goals and approach: providing a high level of privacy and security alongside usability, with an approach that's open and honest. We won't attach our name to a device that did not meet a high level of privacy and security by shipping a modern, properly configured SoC for production use with proper support for firmware, etc. for years and all the standard hardware security features (verified boot, HSM-based attestation, HSM-based keystore, strong hardware encryption / key derivation support, proper IOMMUs, modern exploit mitigations, and all the other stuff we expect). We'll happily include minor bonuses like a Sensors Off kill switch that truly works as a mitigation for a device compromise based on a clear threat model for that (i.e. if it's meant to do something like stopping audio recording, then the speakers and all the sensors usable for that have to be dealt with too). We're 100% open to working with a vendor sharing those kinds of goals.
In Pine64 Februrary Update: Show and Tell
strcat·Feb 17, 2021Recommendation phrase
> I have spent time on the IRC channel and it is clear the founder/project lead (whom I'm not criticizing) has a different idea of what privacy means than what I do. You're misrepresenting what I think and the goals / approach of the project. > He doesn't necessarily view connections to Google servers that take place without explicit user intention/confirmation as problematic. That's not accurate at all. Those connections also aren't being made by the OS. > Based on his strong personality, I did not think it likely any patches I wrote would be accepted by him. Indeed, he thinks it best to "blend in" with other Android traffic. He is also, in my opinion, overworked. I'm not sure why you got the impression that useful patches fitting the goals of the project would not be accepted. You say that you aren't criticizing me but at the same time
Read the rest
appear to be trying to attack my character and misrepresent my views. Quite strange. It's also interesting that you have a bunch of past comments on this site doing the same, including making personal attacks on me and misrepresenting my views and GrapheneOS. I do not think that what you're saying adds up. > I'm looking at my abortive patchset against GrapheneOS from last year, which I never bothered to finish up to post, and will just pick a couple of random samples Grepping through the source code for Google URLs does not provide a list of connections to Google. The source tree contains far more than the sources used to build the OS, and not all of the code for the OS is used. It's also configured via build configuration. You could also grep around for Google URLs in a large codebase like the Linux kernel and claim that it makes a ton of undocumented connections to Google but that's not how it works. > including changes that address Google connections that GrapheneOS acknowledges There are no default connections to Google servers. I recommend reading https://grapheneos.org/faq#default-connections. Your implication that we are hiding something or unaware of some dark secret doesn't have a basis. > I'm not saying any of these is malicious, my point is there are tons of these kinds of things littering the code. It will be extremely time-consuming to find and cut this stuff out of the base applications and libraries underlying installed applications. That's not accurate. Reviewing a large amount of code is certainly time consuming, but there aren't actually there common changes to be made that you're claiming. You grepped around for Google URLs / domains in the code and then assumed that anywhere those were included must be a connection to Google that's used in the OS. That's really not how it works. Not every Google domain or URL referenced in the code is actually used (especially since large portions of the code are not used for an OS build from the source tree), and very few are used by default. > And BTW again, this says nothing about SUPL, which is still tracked as an issue about which there isn't a lot of clarity: https://github.com/GrapheneOS/os_issue_tracker/issues/96 SUPL is carrier-specific. The server used is determined by the carrier. It's enabled when location services are active and you're connected to a mobile network if configured that way by the carrier. There has to be a fallback configuration. It's required by law. It has to be possible for SUPL to work for emergency calls even when not connected to a carrier. There is an open issue because we need to do research into it and figure out the best approach to it. We need to choose the best fallback provider, which could very well be Google is there isn't one with a better privacy policy. Hosting it ourselves as we do the time server and connectivity check server isn't necessarily realistic. It's not enough to just use some public cell id database. > You can also see in that issue thread that the project lead does not see the project as focusing on de-Googling which is, in fact, what many of us want, and are wrongly projecting as a GrapheneOS project goal. The goal of the project is offering great privacy and security. The focus of the project is implementing a bunch of technical improvements to achieve that goal. When we switched to the GrapheneOS connectivity check server, we made sure that we provided a way to opt-in to using the standard URLs in order to blend in with other devices as explained in https://grapheneos.org/faq#default-connections. Similarly, as explained there, we added a way to fully disable network time updates to avoid standing out as a GrapheneOS device based on using our HTTPS-based time update approach. Most devices do not make network time update requests since they get it from the mobile network, so blending in for that is easy. It is not a "de-Googling" project because that would not give us any substantial work to do. AOSP does not have Google apps and services. It uses Google servers as a placeholder / default for certain things where a provider has to be chosen like the connectivity (captive portal) checks and time update server. You claim elsewhere that Google DNS is used which isn't even true for AOSP. It uses the network-provided DNS servers. GrapheneOS also changes the fallback servers, so that claim is so far from reality. Again, I strongly recommend reading https://grapheneos.org/faq#default-connections and using more than grep and unverified assumptions to find things that need to be changed. You actually have to check if the code is used and if that value is actually used. For example, why reference the WebRTC reference implementation? The repositories in external/ are externally developed projects often included to use a small part of them or a tool they provide. A Google URL in source code that's part of the overall source tree does not mean there is a connection to Google being made by the OS.
In Pine64 Februrary Update: Show and Tell
> He doesn't necessarily view connections to Google servers that take place without explicit user intention/confirmation as problematic. I'd just go for his own words [0] since they're so easily available. > Based on his strong personality, I did not think it likely any patches I wrote would be accepted by him. I think it's best to give him a chance rather than assume. From my interactions with him, he seems fairly open to contributions since as you've pointed out, he also seems overworked. > packages/apps/Gallery/src/com/android/camera/MenuHelper.java (calls maps.google.com) I think you're talking about [1], which only happens upon explicit user interaction (the user clicking a button to show on a map). > packages/apps/Settings/src/com/android/RadioInfo.java (multiple connectivity checks pinging Google servers) This code seems to be here
Read the rest
[2] now and is only called as part of an on-click handler [3], so again, requires explicit user interaction. As far as I know, there isn't even a way to access the screen that triggers this. I did it manually (adb shell am start -n com.android.settings/.wifi.WifiStatusTest) and the UI makes it clear that clicking the button will cause network traffic to go to "www.google.com", as that hostname is listed explicitly in the UI. > external/webrtc/webrtc/p2p/stunprober/main.cc I think you're talking about [4], which is example code. When I was searching for it, I stubmled across Google's search tool [5], which I used to search for other references to those hostnames. There don't appear to be any outside of example code and unit tests. > packages/apps/Nfc/src/com/android/nfc/P2pLinkManager.java (calls to the play store) If you follow the code further, it appears that no network traffic is sent to the Play Store. The code just creates a Play Store URL for an app package, presumably when you try to share an app with someone over NFC. > You can rationalize away each of these individually, but I was at 41 patches when I stopped (including changes that address Google connections that GrapheneOS acknowledges). The cockroach infestation analogy is pretty apt. They are everywhere, and if you try to follow the code to assess for severity, it will be hugely time-consuming, so unless you have a team developing the patches, the safest thing is to pre-emptively patch out. But what exactly is everywhere? It'd be nice to get rid of the code you've mentioned but there are no connections to Google going out without user interaction. I'm not convinced that there's a problem here to be fixed. [0]: https://github.com/GrapheneOS/os_issue_tracker/issues/96#iss... [1]: https://android.googlesource.com/platform/packages/apps/Gall... [2]: https://github.com/GrapheneOS/platform_packages_apps_Setting... [3]: https://github.com/GrapheneOS/platform_packages_apps_Setting... [4]: https://chromium.googlesource.com/external/webrtc/+/HEAD/exa... [5]: https://cs.android.com/search?q=%22stun.l.google.com%22&ss=a...
In Pine64 Februrary Update: Show and Tell
I have spent time on the IRC channel and it is clear the founder/project lead (whom I'm not criticizing) has a different idea of what privacy means than what I do. He doesn't necessarily view connections to Google servers that take place without explicit user intention/confirmation as problematic. Based on his strong personality, I did not think it likely any patches I wrote would be accepted by him. Indeed, he thinks it best to "blend in" with other Android traffic. He is also, in my opinion, overworked. I'm looking at my abortive patchset against GrapheneOS from last year, which I never bothered to finish up to post, and will just pick a couple of random samples: packages/apps/Gallery/src/com/android/camera/MenuHelper.java (calls maps.google.com) packages/apps/Settings/src/com/android/RadioInfo.java (multiple connectivity checks
Read the rest
pinging Google servers) external/webrtc/webrtc/p2p/stunprober/main.cc (uses a Google STUN server) packages/apps/Nfc/src/com/android/nfc/P2pLinkManager.java (calls to the play store) That's a random sampling, not trying to assess for "severity". You can rationalize away each of these individually, but I was at 41 patches when I stopped (including changes that address Google connections that GrapheneOS acknowledges). The cockroach infestation analogy is pretty apt. They are everywhere, and if you try to follow the code to assess for severity, it will be hugely time-consuming, so unless you have a team developing the patches, the safest thing is to pre-emptively patch out. I'm not saying any of these is malicious, my point is there are tons of these kinds of things littering the code. It will be extremely time-consuming to find and cut this stuff out of the base applications and libraries underlying installed applications. And BTW again, this says nothing about SUPL, which is still tracked as an issue about which there isn't a lot of clarity: https://github.com/GrapheneOS/os_issue_tracker/issues/96 You can also see in that issue thread that the project lead does not see the project as focusing on de-Googling which is, in fact, what many of us want, and are wrongly projecting as a GrapheneOS project goal.
In Pine64 Februrary Update: Show and Tell

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.