We monitor 175 App Store storefronts to answer one question —

Is CPN censored by Apple?

Gone.

CPN is gone from every App Store storefront we test. It was last seen available on Jun 20, 2020.

1,052 tests on record·last checked 3 months 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 itLikely

    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, unaskedLikely

    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 itUnlikely

    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 →

CPN

Developer: Edline, LLC. · Category: Education · Released: Dec 20, 2014 · Rating: 0.7★

View in App Store ↗
0stores where available
129stores where blocked
4.93Bpeople behind the block
129of 175 stores tested
1,052tests on record

Other Education apps missing from mainland China

Everything missing from mainland China →

Life of this app

  1. Dec 20, 2014Released on the App Store
  2. Aug 19, 2019First tested by AppleCensorship
  3. Jun 20, 2020Last seen available anywhere
  4. Mar 2, 2022Gone from 129 storefronts
  5. Jul 4, 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-082026-07

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
AlbaniaALUnavailableMay 26, 20213 years ago
AngolaAOUnavailableSep 17, 20214 years ago
Antigua & BarbudaAGUnavailableJun 17, 20223 years ago
AustraliaAUUnavailableApr 18, 20251 year ago
AustriaATUnavailableJul 21, 202312 months ago
BahamasBSUnavailableJul 1, 20263 months ago
BarbadosBBUnavailableSep 26, 20224 years ago
BeninBJUnavailableMay 26, 20213 months ago
BermudaBMUnavailableMay 10, 20233 years ago
BrazilBRUnavailableOct 15, 20224 years ago
British Virgin IslandsVGUnavailableJul 28, 20214 years ago
BulgariaBGUnavailableDec 25, 20213 years ago
CambodiaKHUnavailableFeb 7, 20234 years ago
CanadaCAUnavailableJul 20, 20233 years ago
Cape VerdeCVUnavailableNov 6, 20211 year ago
Cayman IslandsKYUnavailableOct 9, 20242 years ago
China (Mainland)CNUnavailableMay 26, 20214 months ago
ColombiaCOUnavailableMay 18, 20233 years ago
Costa RicaCRUnavailableMay 26, 20212 years ago
Côte d’IvoireCIUnavailableApr 1, 20241 year ago
CroatiaHRUnavailableApr 2, 20242 years ago
CyprusCYUnavailableMar 2, 20222 years ago
DenmarkDKUnavailableApr 23, 20251 year ago
Dominican RepublicDOUnavailableJun 10, 20224 years ago
DR CongoCDUnavailableJul 31, 20224 years ago
EcuadorECUnavailableAug 13, 20233 years ago
EgyptEGUnavailableJan 18, 20252 years ago
El SalvadorSVUnavailableOct 3, 20213 years ago
EstoniaEEUnavailableFeb 28, 20243 years ago
EswatiniSZUnavailableJun 13, 20214 years ago
FinlandFIUnavailableMay 26, 20214 years ago
FranceFRUnavailableNov 21, 20214 years ago
GabonGAUnavailableJun 28, 20224 years ago
GambiaGMUnavailableJul 11, 20234 months ago
GeorgiaGEUnavailableNov 19, 20222 years ago
GhanaGHUnavailableMay 30, 20223 years ago
GreeceGRUnavailableMar 24, 20233 years ago
GrenadaGDUnavailableNov 19, 20212 years ago
GuatemalaGTUnavailableMay 30, 20222 years ago
GuyanaGYUnavailableJul 4, 20213 years ago
Hong KongHKUnavailableAug 16, 20214 years ago
HungaryHUUnavailableJun 2, 20222 years ago
IcelandISUnavailableJul 8, 20242 years ago
IndonesiaIDUnavailableNov 26, 20213 years ago
IrelandIEUnavailableDec 14, 20233 years ago
IsraelILUnavailableJul 4, 20219 months ago
ItalyITUnavailableSep 28, 20242 years ago
JamaicaJMUnavailableJul 30, 20242 years ago
JapanJPUnavailableSep 28, 20233 years ago
JordanJOUnavailableJun 15, 20213 years ago
KazakhstanKZUnavailableAug 10, 20213 years ago
KenyaKEUnavailableSep 23, 20214 years ago
KosovoXKUnavailableNov 22, 20224 years ago
LaosLAUnavailableApr 22, 20222 years ago
LatviaLVUnavailableAug 12, 202213 months ago
LebanonLBUnavailableJan 14, 20223 years ago
LiberiaLRUnavailableDec 4, 20212 years ago
LibyaLYUnavailableNov 18, 20224 years ago
LithuaniaLTUnavailableNov 4, 20212 years ago
LuxembourgLUUnavailableJun 15, 20213 years ago
MacaoMOUnavailableMay 26, 20213 months ago
MadagascarMGUnavailableMay 13, 20222 years ago
MalaysiaMYUnavailableApr 16, 20242 years ago
MaldivesMVUnavailableNov 20, 20222 years ago
MaliMLUnavailableMay 29, 20213 years ago
MauritaniaMRUnavailableFeb 14, 20223 years ago
MauritiusMUUnavailableJul 6, 20213 years ago
MexicoMXUnavailableOct 22, 20213 years ago
MicronesiaFMUnavailableApr 13, 20224 years ago
MoldovaMDUnavailableMay 26, 20214 years ago
MongoliaMNUnavailableJul 27, 20213 years ago
MontserratMSUnavailableNov 4, 20213 years ago
MoroccoMAUnavailableAug 6, 20224 years ago
MozambiqueMZUnavailableJul 28, 20215 months ago
NamibiaNAUnavailableFeb 16, 20222 years ago
NauruNRUnavailableJul 3, 20243 months ago
NepalNPUnavailableMay 26, 20212 years ago
NetherlandsNLUnavailableJan 18, 20223 years ago
NicaraguaNIUnavailableFeb 16, 20223 years ago
NigerNEUnavailableNov 10, 20233 years ago
NigeriaNGUnavailableSep 17, 20217 months ago
North MacedoniaMKUnavailableNov 25, 20213 months ago
NorwayNOUnavailableApr 22, 20226 months ago
PakistanPKUnavailableJul 3, 20232 years ago
PanamaPAUnavailableNov 26, 202115 months ago
Papua New GuineaPGUnavailableJan 5, 20224 years ago
ParaguayPYUnavailableJun 13, 20213 years ago
PeruPEUnavailableNov 25, 20212 years ago
PhilippinesPHUnavailableOct 9, 202511 months ago
PolandPLUnavailableMay 26, 20213 years ago
PortugalPTUnavailableDec 20, 20224 years ago
QatarQAUnavailableApr 9, 20222 years ago
RomaniaROUnavailableMay 31, 202516 months ago
RussiaRUUnavailableMar 2, 20222 years ago
RwandaRWUnavailableAug 12, 20223 months ago
São Tomé & PríncipeSTUnavailableOct 19, 20213 years ago
Saudi ArabiaSAUnavailableMay 29, 20214 years ago
SenegalSNUnavailableJul 27, 20214 years ago
SerbiaRSUnavailableNov 9, 20223 months ago
SeychellesSCUnavailableMay 26, 20213 years ago
Sierra LeoneSLUnavailableJan 21, 20234 years ago
SingaporeSGUnavailableDec 13, 20242 years ago
SlovakiaSKUnavailableMay 26, 20213 months ago
Solomon IslandsSBUnavailableMay 26, 20213 years ago
South AfricaZAUnavailableAug 10, 20214 years ago
South KoreaKRUnavailableMay 26, 20217 months ago
Sri LankaLKUnavailableSep 18, 20213 years ago
St. LuciaLCUnavailableFeb 6, 20223 years ago
St. Vincent & GrenadinesVCUnavailableMay 31, 20214 years ago
SurinameSRUnavailableMay 13, 20239 months ago
SwedenSEUnavailableJan 16, 20243 years ago
SwitzerlandCHUnavailableDec 5, 20225 months ago
TaiwanTWUnavailableNov 20, 20224 years ago
TajikistanTJUnavailableJan 5, 20223 years ago
TanzaniaTZUnavailableMay 26, 20213 years ago
TongaTOUnavailableDec 29, 20259 months ago
Trinidad & TobagoTTUnavailableJun 17, 202211 months ago
TunisiaTNUnavailableDec 18, 20213 years ago
TurkmenistanTMUnavailableOct 6, 20214 years ago
Turks & Caicos IslandsTCUnavailableMay 26, 20214 years ago
UgandaUGUnavailableJul 12, 20242 years ago
UkraineUAUnavailableMar 2, 20222 years ago
United Arab EmiratesAEUnavailableMay 26, 20213 months ago
United KingdomGBUnavailableAug 13, 202513 months ago
United StatesUSUnavailableMay 26, 20213 months ago
UruguayUYUnavailableJun 15, 20214 years ago
UzbekistanUZUnavailableJul 8, 20233 years ago
VanuatuVUUnavailableNov 21, 20228 months ago
ZimbabweZWUnavailableJan 22, 20268 months ago
AfghanistanAFNot tested0
AlgeriaDZNot tested0
AnguillaAINot tested0
ArgentinaARNot tested0
ArmeniaAMNot tested0
AzerbaijanAZNot tested0
BahrainBHNot tested0
BelarusBYNot tested0
BelgiumBENot tested0
BelizeBZNot tested0
BhutanBTNot tested0
BoliviaBONot tested0
Bosnia & HerzegovinaBANot tested0
BotswanaBWNot tested0
BruneiBNNot tested0
Burkina FasoBFNot tested0
CameroonCMNot tested0
ChadTDNot tested0
ChileCLNot tested0
CzechiaCZNot tested0
DominicaDMNot tested0
FijiFJNot tested0
GermanyDENot tested0
Guinea-BissauGWNot tested0
HondurasHNNot tested0
IndiaINNot tested0
IraqIQNot tested0
KuwaitKWNot tested0
KyrgyzstanKGNot tested0
MalawiMWNot tested0
MaltaMTNot tested0
MontenegroMENot tested0
Myanmar (Burma)MMNot tested0
New ZealandNZNot tested0
OmanOMNot tested0
PalauPWNot tested0
Republic of the CongoCGNot tested0
SloveniaSINot tested0
SpainESNot tested0
St. Kitts & NevisKNNot tested0
ThailandTHNot tested0
TürkiyeTRNot tested0
VenezuelaVENot 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.