We monitor 175 App Store storefronts to answer one question —

Is CodeHub - A Client for GitHub censored by Apple?

Gone.

CodeHub - A Client for GitHub is gone from every App Store storefront we test. It was last seen available on Jul 19, 2021.

1,373 tests on record·last checked 3 days ago

Why it is unavailable

Five things can put an app out of one App Store. Each is weighed below against what can be seen from outside — open a card for the reasoning.

  • A government or a court demanded itPossible

    and Apple complied. Apple publishes a count of these per country each year and never says which apps they were. Apple's 2025 App Store Transparency Report

  • Apple applied a rule, unaskedPossible

    either its own review guidelines, or its own reading of a local law, with nobody having demanded anything. This is the largest category in Apple's own removal figures by a wide margin, and it covers distribution permits as well as content — Apple kept a free Bible app out of mainland China in 2021 for want of one. Apple's 2025 App Store Transparency Report

  • The developer withheld itPossible

    freely, or under legal advice of their own, or because Apple's guidelines require that kind of app to be limited to certain countries. Switching a country off is easy for a developer to do in Apple's own tools: it needs no new version of the app, and it leaves no public trace other than the app being unavailable.

  • Something brokeUnlikely

    a rejected update, a lapsed certificate, a payment or licensing problem, a mistake nobody has got round to noticing.

  • A local rule about paying for itRuled out

    gambling licences, financial rules, tax — the kind of law that governs a transaction. Apple can obey every one of them by refusing the payment, which is why this is the only restriction we would accept and the only one that cannot touch a free app.

    • It is free, so Apple sells nothing here.
How this is weighed, and what it cannot tell you

Weighed from the evidence under each card, not from a model. There is no published figure for how Apple's removals divide up, so these are ordered words rather than percentages. For scale on the same-day counts: across the whole record an app leaves a storefront with fewer than two others, so a dozen at once is not a dozen coincidences.

None of this is certain, and a citation does not make it so: Apple naming a Chinese agency tells you what Apple said, not everything that happened. What can be said is that the readings alone cannot separate these five — a developer switching off a country and a government ordering it removed arrive at Apple's catalogue looking identical — and that nobody has ever measured how they divide across the App Store. The one careful study of the question was done on Google's store, using an error message Apple does not emit.

Apple publishes no record of which apps are unavailable in which of its App Stores. For the removals it makes on a government's demand it publishes the agency and the law behind every one — 2,045 of the 166,899 apps it removed during 2025 — and never which app. Where a reason reaches the public at all, it is usually because a developer chose to say so. Apple's App Store Transparency Report

Know of a statement, notice or order we have missed? Tell us →

CodeHub - A Client for GitHub

Developer: Dillon Buchanan · Category: Productivity · Released: Oct 1, 2013 · Rating: 2.9★

View in App Store ↗
0stores where available
150stores where blocked
6.47Bpeople behind the block
150of 175 stores tested
1,373tests on record

Other Productivity apps missing from India

Everything missing from India →

Life of this app

  1. Oct 1, 2013Released on the App Store
  2. Feb 25, 2019First tested by AppleCensorship
  3. Jul 19, 2021Last seen available anywhere
  4. Jul 1, 2022Gone from 150 storefronts
  5. Sep 16, 2026Most recent test

Testing history

One column per month, every month from the first reading to the last. Height follows how many readings we took that month; red is the share of them that found the app unavailable. An empty month is one nobody tested.

2019-022026-09

Found availableFound unavailable

Availability by storefront

Every storefront we test, current status first. Data is a measurement, not a promise: each row carries its own date.

Test now
AfghanistanAFUnavailableJun 5, 202515 months ago
AlbaniaALUnavailableSep 24, 20215 months ago
AlgeriaDZUnavailableFeb 12, 20224 years ago
AngolaAOUnavailableOct 28, 20224 years ago
AnguillaAIUnavailableSep 5, 20224 years ago
Antigua & BarbudaAGUnavailableSep 13, 20233 years ago
ArmeniaAMUnavailableSep 24, 20213 days ago
AustraliaAUUnavailableSep 24, 202131 days ago
AustriaATUnavailableSep 25, 20224 years ago
AzerbaijanAZUnavailableJun 26, 20233 years ago
BahamasBSUnavailableFeb 14, 20223 years ago
BarbadosBBUnavailableMay 13, 20222 years ago
BelarusBYUnavailableOct 30, 20212 years ago
BelgiumBEUnavailableJul 30, 20242 years ago
BelizeBZUnavailableMar 12, 20243 years ago
BeninBJUnavailableSep 24, 20214 months ago
BermudaBMUnavailableJun 27, 20263 months ago
BhutanBTUnavailableJan 16, 20223 years ago
BoliviaBOUnavailableNov 27, 20223 years ago
Bosnia & HerzegovinaBAUnavailableDec 30, 20233 years ago
British Virgin IslandsVGUnavailableSep 24, 20212 months ago
BruneiBNUnavailableSep 6, 20232 years ago
BulgariaBGUnavailableOct 10, 20252 months ago
Burkina FasoBFUnavailableApr 24, 20222 years ago
CambodiaKHUnavailableSep 25, 20233 years ago
CameroonCMUnavailableNov 1, 20224 years ago
CanadaCAUnavailableJan 7, 20223 years ago
Cape VerdeCVUnavailableNov 23, 20213 years ago
Cayman IslandsKYUnavailableDec 26, 20213 years ago
ChadTDUnavailableOct 17, 20233 years ago
China (Mainland)CNUnavailableSep 24, 20217 months ago
ColombiaCOUnavailableAug 13, 20242 years ago
Costa RicaCRUnavailableMay 20, 20233 years ago
Côte d’IvoireCIUnavailableOct 28, 20224 years ago
CroatiaHRUnavailableSep 24, 20213 years ago
CzechiaCZUnavailableJul 1, 20223 years ago
DenmarkDKUnavailableMay 4, 20233 years ago
DominicaDMUnavailableAug 1, 20223 years ago
Dominican RepublicDOUnavailableApr 29, 20222 years ago
DR CongoCDUnavailableJul 1, 20224 years ago
EcuadorECUnavailableJun 30, 20224 years ago
EgyptEGUnavailableFeb 7, 20223 years ago
El SalvadorSVUnavailableNov 20, 20212 years ago
EstoniaEEUnavailableFeb 7, 20223 years ago
EswatiniSZUnavailableNov 20, 20213 years ago
FijiFJUnavailableApr 14, 20222 years ago
FranceFRUnavailableMay 5, 20242 months ago
GabonGAUnavailableJul 2, 20222 years ago
GeorgiaGEUnavailableNov 27, 202213 months ago
GermanyDEUnavailableAug 9, 20223 years ago
GhanaGHUnavailableJun 15, 20223 years ago
GreeceGRUnavailableJun 13, 202211 months ago
GrenadaGDUnavailableApr 5, 20251 year ago
GuatemalaGTUnavailableApr 14, 20222 years ago
Guinea-BissauGWUnavailableMay 6, 20242 years ago
GuyanaGYUnavailableJan 11, 20223 years ago
HondurasHNUnavailableJun 14, 202212 months ago
Hong KongHKUnavailableSep 24, 202113 months ago
HungaryHUUnavailableDec 21, 20213 years ago
IndiaINUnavailableMar 7, 20256 months ago
IndonesiaIDUnavailableJan 16, 20243 years ago
IraqIQUnavailableNov 17, 20224 years ago
IrelandIEUnavailableSep 7, 20223 years ago
IsraelILUnavailableDec 28, 20222 years ago
ItalyITUnavailableJun 30, 20242 years ago
JamaicaJMUnavailableDec 21, 20214 years ago
JapanJPUnavailableSep 24, 202110 days ago
JordanJOUnavailableOct 8, 20224 years ago
KazakhstanKZUnavailableDec 14, 20213 years ago
KenyaKEUnavailableMar 12, 20224 years ago
KosovoXKUnavailableNov 28, 20222 years ago
KuwaitKWUnavailableDec 27, 202114 months ago
KyrgyzstanKGUnavailableOct 4, 20224 years ago
LaosLAUnavailableJun 17, 20242 years ago
LatviaLVUnavailableSep 29, 20213 years ago
LebanonLBUnavailableMar 27, 20233 months ago
LiberiaLRUnavailableDec 21, 20233 years ago
LibyaLYUnavailableNov 18, 20224 years ago
LithuaniaLTUnavailableJul 26, 20233 years ago
LuxembourgLUUnavailableNov 12, 20213 months ago
MacaoMOUnavailableJun 4, 20242 years ago
MadagascarMGUnavailableSep 29, 20213 years ago
MalawiMWUnavailableFeb 15, 20223 years ago
MaliMLUnavailableOct 30, 20213 days ago
MauritaniaMRUnavailableApr 22, 20222 years ago
MauritiusMUUnavailableJan 7, 20222 years ago
MexicoMXUnavailableJul 21, 20242 years ago
MoldovaMDUnavailableJan 21, 20243 years ago
MongoliaMNUnavailableOct 19, 20212 years ago
MontenegroMEUnavailableMay 17, 202516 months ago
MontserratMSUnavailableOct 15, 20213 years ago
MoroccoMAUnavailableJul 11, 202215 months ago
MozambiqueMZUnavailableDec 27, 20213 years ago
Myanmar (Burma)MMUnavailableJun 14, 20233 months ago
NamibiaNAUnavailableSep 24, 202114 months ago
NauruNRUnavailableDec 30, 20233 days ago
NepalNPUnavailableOct 24, 202111 months ago
New ZealandNZUnavailableAug 10, 20222 years ago
NicaraguaNIUnavailableOct 15, 20214 months ago
NigerNEUnavailableFeb 19, 20222 years ago
NigeriaNGUnavailableJan 28, 20223 years ago
North MacedoniaMKUnavailableFeb 15, 20222 years ago
NorwayNOUnavailableMar 14, 20243 years ago
OmanOMUnavailableOct 24, 20212 years ago
PakistanPKUnavailableJan 14, 20224 years ago
PalauPWUnavailableJan 22, 20234 years ago
PanamaPAUnavailableMay 22, 20233 years ago
Papua New GuineaPGUnavailableOct 24, 202110 days ago
ParaguayPYUnavailableSep 24, 20213 years ago
PeruPEUnavailableOct 19, 202511 months ago
PhilippinesPHUnavailableApr 21, 20251 year ago
PortugalPTUnavailableJun 27, 20262 months ago
QatarQAUnavailableJan 11, 20223 years ago
Republic of the CongoCGUnavailableSep 14, 202512 months ago
RussiaRUUnavailableMar 12, 202212 months ago
RwandaRWUnavailableAug 1, 20224 years ago
São Tomé & PríncipeSTUnavailableApr 4, 20232 years ago
SenegalSNUnavailableOct 24, 20213 years ago
SerbiaRSUnavailableNov 13, 20224 years ago
SeychellesSCUnavailableOct 23, 20227 months ago
Sierra LeoneSLUnavailableNov 12, 20212 years ago
SingaporeSGUnavailableNov 27, 20212 years ago
SlovakiaSKUnavailableApr 28, 20263 months ago
SloveniaSIUnavailableDec 10, 20213 years ago
South KoreaKRUnavailableFeb 4, 20234 years ago
SpainESUnavailableOct 19, 20213 years ago
Sri LankaLKUnavailableDec 13, 20222 years ago
St. Kitts & NevisKNUnavailableMay 31, 20224 years ago
St. LuciaLCUnavailableSep 24, 20214 years ago
St. Vincent & GrenadinesVCUnavailableAug 20, 202513 months ago
SurinameSRUnavailableJun 10, 20224 years ago
SwedenSEUnavailableApr 2, 20222 years ago
SwitzerlandCHUnavailableJul 2, 20224 years ago
TaiwanTWUnavailableSep 24, 20216 months ago
TajikistanTJUnavailableOct 15, 20212 years ago
TanzaniaTZUnavailableSep 26, 202114 months ago
TongaTOUnavailableJun 30, 20224 years ago
Trinidad & TobagoTTUnavailableSep 24, 20212 years ago
TunisiaTNUnavailableJan 15, 20268 months ago
TürkiyeTRUnavailableMar 4, 20243 years ago
Turks & Caicos IslandsTCUnavailableOct 16, 20213 years ago
UgandaUGUnavailableJul 20, 20224 years ago
UkraineUAUnavailableMar 12, 20222 years ago
United Arab EmiratesAEUnavailableDec 1, 20223 days ago
United StatesUSUnavailableSep 24, 20213 days ago
UzbekistanUZUnavailableJul 30, 20242 years ago
VanuatuVUUnavailableAug 3, 202431 days ago
VietnamVNUnavailableDec 7, 20223 years ago
YemenYEUnavailableJul 11, 20224 years ago
ZimbabweZWUnavailableSep 13, 20237 months ago
ArgentinaARNot tested0
BahrainBHNot tested0
BotswanaBWNot tested0
BrazilBRNot tested0
ChileCLNot tested0
CyprusCYNot tested0
FinlandFINot tested0
GambiaGMNot tested0
IcelandISNot tested0
MalaysiaMYNot tested0
MaldivesMVNot tested0
MaltaMTNot tested0
MicronesiaFMNot tested0
NetherlandsNLNot tested0
PolandPLNot tested0
RomaniaRONot tested0
Saudi ArabiaSANot tested0
Solomon IslandsSBNot tested0
South AfricaZANot tested0
ThailandTHNot tested0
TurkmenistanTMNot tested0
United KingdomGBNot tested0
UruguayUYNot tested0
VenezuelaVENot tested0
ZambiaZMNot tested0

Testing asks Apple whether it will sell this app in that storefront, right now, by the same method the crawler has used since 2019. Your browser asks Apple directly, so the answer describes what Apple serves your connection — and if your browser cannot reach Apple at all, we ask on your behalf and say so. The result is a link: open it to see Apple's own answer and check ours. Readings are added to the record above; roughly a quarter of the readings taken each day come from people testing.

How we test

Availability is checked against Apple's own catalog servers for every storefront, the same way the App Store app asks. "Unavailable" means Apple's servers say the app cannot be offered in that country — it does not say who asked for the removal. Removals initiated by the developer and removals demanded by governments look the same from outside; the history and context on this page are how we tell them apart.