We monitor 175 App Store storefronts to answer one question —

Is NetSpeed Indicator censored by Apple?

Gone.

NetSpeed Indicator is gone from every App Store storefront we test. It was last seen available on Dec 30, 2019.

999 tests on record·⚠ last verified 4 months ago — treat as historical

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 →

NetSpeed Indicator

Developer: cai meiling · Category: Reference · Released: Oct 15, 2019 · Rating: 2.5★

View in App Store ↗
0stores where available
136stores where blocked
6.05Bpeople behind the block
136of 175 stores tested
999tests on record

Other Reference apps missing from mainland China

Everything missing from mainland China →

Life of this app

  1. Oct 15, 2019Released on the App Store
  2. Oct 20, 2019First tested by AppleCensorship
  3. Dec 30, 2019Last seen available anywhere
  4. Oct 13, 2021Gone from 136 storefronts
  5. Jun 2, 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-102026-06

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
AngolaAOUnavailableMar 28, 20213 years ago
Antigua & BarbudaAGUnavailableMay 1, 202011 months ago
ArmeniaAMUnavailableSep 8, 20213 years ago
AustraliaAUUnavailableDec 23, 20224 years ago
AustriaATUnavailableNov 12, 20242 years ago
BahamasBSUnavailableOct 26, 20213 years ago
BarbadosBBUnavailableJul 30, 20224 years ago
BelarusBYUnavailableNov 30, 20202 years ago
BelgiumBEUnavailableFeb 23, 20224 years ago
BelizeBZUnavailableMar 6, 20217 months ago
BeninBJUnavailableJul 1, 20224 years ago
BermudaBMUnavailableFeb 23, 20224 years ago
BoliviaBOUnavailableMay 4, 20212 years ago
BotswanaBWUnavailableOct 13, 20203 years ago
BrazilBRUnavailableMar 24, 20212 years ago
BruneiBNUnavailableMar 28, 202116 months ago
Burkina FasoBFUnavailableApr 3, 20222 years ago
CambodiaKHUnavailableApr 3, 20233 years ago
CameroonCMUnavailableNov 4, 20224 years ago
CanadaCAUnavailableMar 25, 202113 months ago
Cape VerdeCVUnavailableOct 27, 20213 years ago
ChadTDUnavailableSep 2, 20211 year ago
ChileCLUnavailableDec 14, 20202 years ago
China (Mainland)CNUnavailableMay 1, 202016 months ago
ColombiaCOUnavailableDec 5, 20203 years ago
Côte d’IvoireCIUnavailableApr 9, 20233 years ago
CroatiaHRUnavailableOct 24, 20202 years ago
CzechiaCZUnavailableJul 12, 20214 years ago
DominicaDMUnavailableJun 19, 20247 months ago
Dominican RepublicDOUnavailableOct 15, 20203 years ago
DR CongoCDUnavailableJul 30, 20224 years ago
EcuadorECUnavailableJul 17, 20242 years ago
EgyptEGUnavailableApr 2, 20222 years ago
El SalvadorSVUnavailableFeb 7, 20223 years ago
EstoniaEEUnavailableFeb 3, 20223 years ago
EswatiniSZUnavailableDec 4, 20213 years ago
FijiFJUnavailableDec 22, 20217 months ago
FinlandFIUnavailableApr 22, 20223 years ago
GabonGAUnavailableNov 5, 20242 years ago
GambiaGMUnavailableFeb 23, 20222 years ago
GeorgiaGEUnavailableJul 28, 20232 years ago
GermanyDEUnavailableOct 27, 20213 years ago
GhanaGHUnavailableFeb 17, 20222 years ago
GrenadaGDUnavailableJul 6, 20213 years ago
GuatemalaGTUnavailableMar 6, 20212 years ago
Guinea-BissauGWUnavailableNov 11, 20202 years ago
HondurasHNUnavailableFeb 8, 20223 years ago
Hong KongHKUnavailableJan 3, 20223 years ago
HungaryHUUnavailableMay 1, 20203 years ago
IcelandISUnavailableOct 13, 20213 years ago
IndiaINUnavailableOct 31, 20203 years ago
IndonesiaIDUnavailableOct 31, 202511 months ago
IrelandIEUnavailableJun 17, 20224 years ago
IsraelILUnavailableDec 2, 20203 years ago
ItalyITUnavailableNov 11, 20202 years ago
JamaicaJMUnavailableSep 8, 20213 years ago
JordanJOUnavailableMay 20, 20212 years ago
KazakhstanKZUnavailableFeb 3, 20222 years ago
KosovoXKUnavailableDec 3, 20233 years ago
KuwaitKWUnavailableApr 23, 20213 years ago
KyrgyzstanKGUnavailableDec 10, 20203 years ago
LaosLAUnavailableMar 24, 20222 years ago
LatviaLVUnavailableJan 9, 20223 years ago
LebanonLBUnavailableMar 21, 20242 years ago
LiberiaLRUnavailableFeb 23, 20222 years ago
LithuaniaLTUnavailableMar 23, 20214 years ago
LuxembourgLUUnavailableMay 20, 20212 years ago
MadagascarMGUnavailableMar 23, 20212 years ago
MalawiMWUnavailableOct 13, 20203 years ago
MaldivesMVUnavailableJun 26, 20242 years ago
MaliMLUnavailableJun 26, 20234 months ago
MaltaMTUnavailableJan 7, 20223 years ago
MauritaniaMRUnavailableMay 19, 20213 years ago
MauritiusMUUnavailableJun 19, 20242 years ago
MicronesiaFMUnavailableMay 11, 20213 years ago
MoldovaMDUnavailableAug 29, 20212 years ago
MontenegroMEUnavailableJul 29, 20242 years ago
MontserratMSUnavailableMay 31, 20242 years ago
MoroccoMAUnavailableJul 1, 20224 years ago
MozambiqueMZUnavailableJul 3, 20214 years ago
Myanmar (Burma)MMUnavailableJun 16, 20233 years ago
NauruNRUnavailableOct 6, 20234 months ago
NepalNPUnavailableMar 25, 20212 years ago
NetherlandsNLUnavailableNov 21, 20202 years ago
NicaraguaNIUnavailableOct 26, 20212 years ago
NigerNEUnavailableMay 4, 20213 years ago
NigeriaNGUnavailableSep 8, 20212 years ago
North MacedoniaMKUnavailableApr 4, 20222 years ago
NorwayNOUnavailableMay 1, 20201 year ago
OmanOMUnavailableMay 14, 202516 months ago
PalauPWUnavailableSep 4, 20223 years ago
Papua New GuineaPGUnavailableMar 24, 20222 years ago
ParaguayPYUnavailableMar 16, 20214 years ago
PeruPEUnavailableSep 9, 20214 years ago
PhilippinesPHUnavailableApr 6, 20233 years ago
PolandPLUnavailableJun 2, 20214 years ago
QatarQAUnavailableJan 15, 20223 years ago
Republic of the CongoCGUnavailableJan 27, 20222 years ago
RomaniaROUnavailableJun 26, 20233 years ago
RussiaRUUnavailableMar 15, 20222 years ago
RwandaRWUnavailableJun 29, 202216 months ago
São Tomé & PríncipeSTUnavailableFeb 17, 20222 years ago
Saudi ArabiaSAUnavailableJun 2, 20213 years ago
SenegalSNUnavailableNov 3, 20202 years ago
SerbiaRSUnavailableNov 11, 20224 years ago
SeychellesSCUnavailableDec 2, 20203 years ago
Sierra LeoneSLUnavailableOct 14, 20214 years ago
SingaporeSGUnavailableOct 27, 20203 years ago
SlovakiaSKUnavailableJul 19, 20229 months ago
SloveniaSIUnavailableMay 1, 20204 years ago
Solomon IslandsSBUnavailableAug 31, 20212 years ago
South KoreaKRUnavailableJan 27, 20222 years ago
Sri LankaLKUnavailableApr 23, 20214 years ago
St. Kitts & NevisKNUnavailableDec 12, 20203 years ago
St. LuciaLCUnavailableSep 2, 20213 years ago
St. Vincent & GrenadinesVCUnavailableMar 15, 20213 years ago
SurinameSRUnavailableFeb 23, 20222 years ago
SwitzerlandCHUnavailableNov 21, 20203 years ago
TaiwanTWUnavailableMar 15, 20213 years ago
TajikistanTJUnavailableSep 11, 20217 months ago
TanzaniaTZUnavailableSep 2, 20213 years ago
ThailandTHUnavailableFeb 17, 20243 years ago
TongaTOUnavailableJul 19, 20224 years ago
Trinidad & TobagoTTUnavailableNov 11, 20214 years ago
TunisiaTNUnavailableOct 24, 20203 years ago
TürkiyeTRUnavailableMar 16, 20212 years ago
Turks & Caicos IslandsTCUnavailableMar 24, 20214 years ago
UgandaUGUnavailableNov 3, 20203 years ago
UkraineUAUnavailableMar 15, 20222 years ago
United Arab EmiratesAEUnavailableApr 26, 20224 months ago
United KingdomGBUnavailableNov 29, 20202 years ago
United StatesUSUnavailableMay 1, 20204 months ago
UruguayUYUnavailableNov 29, 20202 years ago
UzbekistanUZUnavailableJul 3, 20213 years ago
VenezuelaVEUnavailableDec 10, 20202 years ago
ZimbabweZWUnavailableOct 12, 20203 years ago
AfghanistanAFNot tested0
AlbaniaALNot tested0
AlgeriaDZNot tested0
AnguillaAINot tested0
ArgentinaARNot tested0
AzerbaijanAZNot tested0
BahrainBHNot tested0
BhutanBTNot tested0
Bosnia & HerzegovinaBANot tested0
British Virgin IslandsVGNot tested0
BulgariaBGNot tested0
Cayman IslandsKYNot tested0
Costa RicaCRNot tested0
CyprusCYNot tested0
DenmarkDKNot tested0
FranceFRNot tested0
GreeceGRNot tested0
GuyanaGYNot tested0
IraqIQNot tested0
JapanJPNot tested0
KenyaKENot tested0
LibyaLYNot tested0
MacaoMONot tested0
MalaysiaMYNot tested0
MexicoMXNot tested0
MongoliaMNNot tested0
NamibiaNANot tested0
New ZealandNZNot tested0
PakistanPKNot tested0
PanamaPANot tested0
PortugalPTNot tested0
South AfricaZANot tested0
SpainESNot tested0
SwedenSENot tested0
TurkmenistanTMNot tested0
VanuatuVUNot tested0
VietnamVNNot tested0
YemenYENot 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.