We monitor 175 App Store storefronts to answer one question —

Is SSH Helper censored by Apple?

Gone.

SSH Helper is gone from every App Store storefront we test. It was last seen available on Dec 15, 2019.

887 tests on record·last checked 14 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 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 →

SSH Helper

Developer: fulan zhao · Category: Utilities · Released: Oct 27, 2018 · Rating: 4.3★

View in App Store ↗
0stores where available
122stores where blocked
4.41Bpeople behind the block
122of 175 stores tested
887tests on record

Other Utilities apps missing from mainland China

Everything missing from mainland China →

Life of this app

  1. Oct 27, 2018Released on the App Store
  2. Oct 12, 2019First tested by AppleCensorship
  3. Dec 15, 2019Last seen available anywhere
  4. Oct 10, 2021Gone from 122 storefronts
  5. Sep 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-102026-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
AlgeriaDZUnavailableDec 15, 20213 years ago
AngolaAOUnavailableNov 3, 20203 years ago
AnguillaAIUnavailableOct 12, 20204 years ago
ArgentinaARUnavailableMay 3, 20242 years ago
ArmeniaAMUnavailableNov 15, 20202 years ago
AustriaATUnavailableNov 4, 20203 years ago
AzerbaijanAZUnavailableMay 1, 20213 years ago
BahamasBSUnavailableDec 3, 20204 years ago
BahrainBHUnavailableMar 31, 20222 years ago
BarbadosBBUnavailableNov 14, 20203 years ago
BelarusBYUnavailableDec 23, 20233 years ago
BelgiumBEUnavailableFeb 10, 20223 years ago
BelizeBZUnavailableNov 29, 20202 years ago
BeninBJUnavailableOct 4, 20224 years ago
BermudaBMUnavailableNov 11, 20201 year ago
BhutanBTUnavailableDec 1, 20212 months ago
BoliviaBOUnavailableJun 24, 20222 years ago
BrazilBRUnavailableSep 21, 20203 years ago
BruneiBNUnavailableDec 20, 20213 years ago
BulgariaBGUnavailableApr 9, 20202 years ago
CanadaCAUnavailableMay 24, 20214 years ago
ChadTDUnavailableJan 7, 20223 years ago
China (Mainland)CNUnavailableApr 9, 20205 months ago
ColombiaCOUnavailableMar 1, 20222 years ago
Costa RicaCRUnavailableDec 16, 20204 years ago
CzechiaCZUnavailableMay 6, 20232 years ago
DenmarkDKUnavailableJul 19, 20242 years ago
DominicaDMUnavailableSep 13, 20242 years ago
EgyptEGUnavailableFeb 6, 20224 years ago
El SalvadorSVUnavailableJun 2, 20212 years ago
EswatiniSZUnavailableOct 10, 20212 years ago
FijiFJUnavailableAug 27, 20212 years ago
FinlandFIUnavailableSep 15, 20213 years ago
FranceFRUnavailableMay 27, 20214 years ago
GabonGAUnavailableJul 18, 20224 years ago
GambiaGMUnavailableApr 9, 202014 days ago
GhanaGHUnavailableApr 8, 20221 year ago
GreeceGRUnavailableDec 2, 20203 years ago
GuatemalaGTUnavailableMar 15, 20224 years ago
HondurasHNUnavailableNov 19, 20224 years ago
Hong KongHKUnavailableJan 2, 20222 years ago
HungaryHUUnavailableApr 23, 20224 years ago
IcelandISUnavailableOct 19, 20203 years ago
IndonesiaIDUnavailableDec 21, 20233 years ago
IrelandIEUnavailableApr 16, 20242 years ago
IsraelILUnavailableDec 2, 20202 years ago
ItalyITUnavailableApr 8, 20222 years ago
JamaicaJMUnavailableApr 14, 20217 months ago
JordanJOUnavailableApr 26, 20212 years ago
KazakhstanKZUnavailableJun 14, 20214 years ago
KenyaKEUnavailableSep 5, 20213 years ago
KosovoXKUnavailableMar 4, 20243 years ago
KuwaitKWUnavailableJan 29, 20234 years ago
LaosLAUnavailableMar 31, 20222 years ago
LiberiaLRUnavailableJul 5, 20214 years ago
LibyaLYUnavailableAug 4, 20233 years ago
LuxembourgLUUnavailableApr 18, 20222 years ago
MacaoMOUnavailableApr 9, 202015 months ago
MadagascarMGUnavailableNov 17, 20218 months ago
MalawiMWUnavailableDec 3, 20204 years ago
MalaysiaMYUnavailableJun 21, 202515 months ago
MaltaMTUnavailableMay 1, 20212 years ago
MauritaniaMRUnavailableJul 25, 20213 years ago
MauritiusMUUnavailableJun 27, 20213 years ago
MoldovaMDUnavailableOct 1, 20213 years ago
MongoliaMNUnavailableJun 27, 20212 years ago
MontenegroMEUnavailableSep 4, 202614 days ago
MontserratMSUnavailableDec 20, 20214 years ago
MoroccoMAUnavailableAug 8, 20224 years ago
MozambiqueMZUnavailableFeb 3, 20223 years ago
Myanmar (Burma)MMUnavailableNov 19, 20223 years ago
NamibiaNAUnavailableApr 18, 20223 years ago
NauruNRUnavailableJun 25, 202414 days ago
NepalNPUnavailableMay 27, 20212 years ago
NetherlandsNLUnavailableOct 21, 20233 years ago
New ZealandNZUnavailableSep 21, 20202 years ago
NigerNEUnavailableNov 24, 20212 years ago
NigeriaNGUnavailableMar 27, 20214 years ago
North MacedoniaMKUnavailableAug 27, 20212 years ago
NorwayNOUnavailableJun 14, 20214 years ago
PalauPWUnavailableJun 28, 20224 years ago
Papua New GuineaPGUnavailableMay 24, 20219 months ago
PeruPEUnavailableJul 17, 20214 years ago
PolandPLUnavailableFeb 3, 20223 years ago
PortugalPTUnavailableOct 21, 20202 years ago
Republic of the CongoCGUnavailableDec 15, 20212 years ago
RomaniaROUnavailableNov 15, 20202 years ago
RussiaRUUnavailableMar 1, 20222 years ago
RwandaRWUnavailableJun 24, 20223 years ago
São Tomé & PríncipeSTUnavailableDec 16, 20202 years ago
SenegalSNUnavailableJan 12, 20223 years ago
SerbiaRSUnavailableNov 12, 20224 years ago
Sierra LeoneSLUnavailableMar 15, 20213 years ago
SlovakiaSKUnavailableNov 29, 20202 years ago
SloveniaSIUnavailableMay 2, 20222 years ago
Solomon IslandsSBUnavailableMar 15, 20212 years ago
South KoreaKRUnavailableSep 8, 20224 years ago
SpainESUnavailableApr 26, 20217 months ago
Sri LankaLKUnavailableJul 17, 20213 years ago
St. Kitts & NevisKNUnavailableAug 31, 20213 years ago
St. LuciaLCUnavailableMay 1, 20213 years ago
St. Vincent & GrenadinesVCUnavailableOct 10, 20212 years ago
SurinameSRUnavailableFeb 23, 20223 years ago
SwedenSEUnavailableAug 26, 20242 years ago
SwitzerlandCHUnavailableFeb 17, 20267 months ago
TaiwanTWUnavailableApr 9, 20204 years ago
TanzaniaTZUnavailableSep 15, 20212 years ago
TongaTOUnavailableJul 19, 20224 years ago
Trinidad & TobagoTTUnavailableApr 22, 20235 months ago
TunisiaTNUnavailableOct 19, 20203 years ago
TurkmenistanTMUnavailableJun 25, 20242 years ago
Turks & Caicos IslandsTCUnavailableApr 1, 20222 years ago
UkraineUAUnavailableMar 1, 20222 years ago
United Arab EmiratesAEUnavailableDec 22, 202214 days ago
United KingdomGBUnavailableNov 8, 20202 years ago
United StatesUSUnavailableApr 9, 202014 days ago
UruguayUYUnavailableNov 29, 20203 years ago
UzbekistanUZUnavailableMar 28, 20214 years ago
VenezuelaVEUnavailableJun 13, 20242 years ago
VietnamVNUnavailableNov 15, 20202 years ago
YemenYEUnavailableApr 1, 20222 years ago
ZimbabweZWUnavailableOct 12, 20202 years ago
AfghanistanAFNot tested0
AlbaniaALNot tested0
Antigua & BarbudaAGNot tested0
AustraliaAUNot tested0
Bosnia & HerzegovinaBANot tested0
BotswanaBWNot tested0
British Virgin IslandsVGNot tested0
Burkina FasoBFNot tested0
CambodiaKHNot tested0
CameroonCMNot tested0
Cape VerdeCVNot tested0
Cayman IslandsKYNot tested0
ChileCLNot tested0
Côte d’IvoireCINot tested0
CroatiaHRNot tested0
CyprusCYNot tested0
Dominican RepublicDONot tested0
DR CongoCDNot tested0
EcuadorECNot tested0
EstoniaEENot tested0
GeorgiaGENot tested0
GermanyDENot tested0
GrenadaGDNot tested0
Guinea-BissauGWNot tested0
GuyanaGYNot tested0
IndiaINNot tested0
IraqIQNot tested0
JapanJPNot tested0
KyrgyzstanKGNot tested0
LatviaLVNot tested0
LebanonLBNot tested0
LithuaniaLTNot tested0
MaldivesMVNot tested0
MaliMLNot tested0
MexicoMXNot tested0
MicronesiaFMNot tested0
NicaraguaNINot tested0
OmanOMNot tested0
PakistanPKNot tested0
PanamaPANot tested0
ParaguayPYNot tested0
PhilippinesPHNot tested0
QatarQANot tested0
Saudi ArabiaSANot tested0
SeychellesSCNot tested0
SingaporeSGNot tested0
South AfricaZANot tested0
TajikistanTJNot tested0
ThailandTHNot tested0
TürkiyeTRNot tested0
UgandaUGNot tested0
VanuatuVUNot 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.