We monitor 175 App Store storefronts to answer one question —

Is CDI+PG censored by Apple?

Gone.

CDI+PG is gone from every App Store storefront we test. It was last seen available on Oct 13, 2020.

270 tests on record·last checked 1 month 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 →

CDI+PG

Developer: Pinson and Tang LLC · Category: Book · Released: May 16, 2013 · Rating: 1.5★

View in App Store ↗
0stores where available
57stores where blocked
3.3Bpeople behind the block
57of 175 stores tested
270tests on record

Other Books apps missing from mainland China

Everything missing from mainland China →

Life of this app

  1. May 16, 2013Released on the App Store
  2. Apr 21, 2019First tested by AppleCensorship
  3. Oct 13, 2020Last seen available anywhere
  4. Feb 7, 2022Gone from 57 storefronts
  5. Aug 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-042026-08

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
AlbaniaALUnavailableSep 3, 20224 years ago
AzerbaijanAZUnavailableSep 4, 20224 years ago
BhutanBTUnavailableOct 26, 20224 years ago
BoliviaBOUnavailableApr 23, 20204 years ago
Bosnia & HerzegovinaBAUnavailableNov 16, 20224 years ago
Cape VerdeCVUnavailableMay 3, 20214 years ago
Cayman IslandsKYUnavailableFeb 29, 20243 years ago
ChadTDUnavailableJan 7, 20223 years ago
China (Mainland)CNUnavailableOct 18, 20193 years ago
Costa RicaCRUnavailableAug 13, 20224 years ago
Côte d’IvoireCIUnavailableOct 26, 20224 years ago
DR CongoCDUnavailableSep 4, 20221 year ago
EgyptEGUnavailableOct 13, 20203 years ago
El SalvadorSVUnavailableJan 7, 20223 years ago
GabonGAUnavailableJul 9, 20224 years ago
GuatemalaGTUnavailableJun 2, 20264 months ago
Hong KongHKUnavailableDec 31, 20213 years ago
IcelandISUnavailableApr 23, 20204 years ago
IndonesiaIDUnavailableDec 21, 20233 years ago
ItalyITUnavailableJun 3, 20212 years ago
KuwaitKWUnavailableOct 18, 20192 years ago
LatviaLVUnavailableJul 24, 20214 years ago
MalawiMWUnavailableMay 6, 20222 years ago
MauritaniaMRUnavailableJun 3, 20214 years ago
MexicoMXUnavailableOct 18, 20193 years ago
MicronesiaFMUnavailableJun 11, 20213 years ago
MoldovaMDUnavailableApr 10, 20242 years ago
NauruNRUnavailableAug 16, 20241 month ago
NepalNPUnavailableDec 14, 20222 years ago
NigerNEUnavailableMay 4, 20213 years ago
North MacedoniaMKUnavailableSep 13, 20212 years ago
PanamaPAUnavailableJul 24, 20214 years ago
ParaguayPYUnavailableNov 6, 20213 years ago
PeruPEUnavailableJun 11, 20213 years ago
PhilippinesPHUnavailableDec 25, 20193 years ago
PolandPLUnavailableJun 19, 20224 years ago
PortugalPTUnavailableNov 6, 20213 years ago
Republic of the CongoCGUnavailableJan 30, 20234 years ago
RussiaRUUnavailableMay 6, 20222 years ago
RwandaRWUnavailableSep 3, 20224 years ago
São Tomé & PríncipeSTUnavailableAug 16, 20233 years ago
SenegalSNUnavailableFeb 7, 20223 years ago
Sierra LeoneSLUnavailableJul 1, 20213 years ago
South AfricaZAUnavailableMay 2, 20233 years ago
SpainESUnavailableNov 26, 20233 years ago
SwedenSEUnavailableAug 4, 20261 month ago
SwitzerlandCHUnavailableSep 13, 20213 years ago
TaiwanTWUnavailableJul 1, 20214 years ago
TajikistanTJUnavailableJun 19, 202216 months ago
TongaTOUnavailableAug 13, 20224 years ago
TurkmenistanTMUnavailableDec 25, 20193 years ago
UgandaUGUnavailableMay 3, 20214 years ago
UkraineUAUnavailableMay 6, 20222 years ago
United Arab EmiratesAEUnavailableDec 14, 20221 month ago
United StatesUSUnavailableApr 16, 20211 month ago
UzbekistanUZUnavailableFeb 7, 20223 years ago
ZimbabweZWUnavailableOct 13, 20203 years ago
AfghanistanAFNot tested0
AlgeriaDZNot tested0
AngolaAONot tested0
AnguillaAINot tested0
Antigua & BarbudaAGNot tested0
ArgentinaARNot tested0
ArmeniaAMNot tested0
AustraliaAUNot tested0
AustriaATNot tested0
BahamasBSNot tested0
BahrainBHNot tested0
BarbadosBBNot tested0
BelarusBYNot tested0
BelgiumBENot tested0
BelizeBZNot tested0
BeninBJNot tested0
BermudaBMNot tested0
BotswanaBWNot tested0
BrazilBRNot tested0
British Virgin IslandsVGNot tested0
BruneiBNNot tested0
BulgariaBGNot tested0
Burkina FasoBFNot tested0
CambodiaKHNot tested0
CameroonCMNot tested0
CanadaCANot tested0
ChileCLNot tested0
ColombiaCONot tested0
CroatiaHRNot tested0
CyprusCYNot tested0
CzechiaCZNot tested0
DenmarkDKNot tested0
DominicaDMNot tested0
Dominican RepublicDONot tested0
EcuadorECNot tested0
EstoniaEENot tested0
EswatiniSZNot tested0
FijiFJNot tested0
FinlandFINot tested0
FranceFRNot tested0
GambiaGMNot tested0
GeorgiaGENot tested0
GermanyDENot tested0
GhanaGHNot tested0
GreeceGRNot tested0
GrenadaGDNot tested0
Guinea-BissauGWNot tested0
GuyanaGYNot tested0
HondurasHNNot tested0
HungaryHUNot tested0
IndiaINNot tested0
IraqIQNot tested0
IrelandIENot tested0
IsraelILNot tested0
JamaicaJMNot tested0
JapanJPNot tested0
JordanJONot tested0
KazakhstanKZNot tested0
KenyaKENot tested0
KosovoXKNot tested0
KyrgyzstanKGNot tested0
LaosLANot tested0
LebanonLBNot tested0
LiberiaLRNot tested0
LibyaLYNot tested0
LithuaniaLTNot tested0
LuxembourgLUNot tested0
MacaoMONot tested0
MadagascarMGNot tested0
MalaysiaMYNot tested0
MaldivesMVNot tested0
MaliMLNot tested0
MaltaMTNot tested0
MauritiusMUNot tested0
MongoliaMNNot tested0
MontenegroMENot tested0
MontserratMSNot tested0
MoroccoMANot tested0
MozambiqueMZNot tested0
Myanmar (Burma)MMNot tested0
NamibiaNANot tested0
NetherlandsNLNot tested0
New ZealandNZNot tested0
NicaraguaNINot tested0
NigeriaNGNot tested0
NorwayNONot tested0
OmanOMNot tested0
PakistanPKNot tested0
PalauPWNot tested0
Papua New GuineaPGNot tested0
QatarQANot tested0
RomaniaRONot tested0
Saudi ArabiaSANot tested0
SerbiaRSNot tested0
SeychellesSCNot tested0
SingaporeSGNot tested0
SlovakiaSKNot tested0
SloveniaSINot tested0
Solomon IslandsSBNot tested0
South KoreaKRNot tested0
Sri LankaLKNot tested0
St. Kitts & NevisKNNot tested0
St. LuciaLCNot tested0
St. Vincent & GrenadinesVCNot tested0
SurinameSRNot tested0
TanzaniaTZNot tested0
ThailandTHNot tested0
Trinidad & TobagoTTNot tested0
TunisiaTNNot tested0
TürkiyeTRNot tested0
Turks & Caicos IslandsTCNot tested0
United KingdomGBNot tested0
UruguayUYNot tested0
VanuatuVUNot 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.