We monitor 175 App Store storefronts to answer one question —

Is FotoHacker censored by Apple?

Gone.

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

677 tests on record·last checked 8 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 →

FotoHacker

Developer: Nahum Dotan · Category: Photo & Video · Released: Apr 29, 2015 ·

View in App Store ↗
0stores where available
105stores where blocked
5.25Bpeople behind the block
105of 175 stores tested
677tests on record

Other Photo and video apps missing from India

Everything missing from India →

Life of this app

  1. Apr 29, 2015Released on the App Store
  2. Jan 13, 2020First tested by AppleCensorship
  3. May 20, 2020Last seen available anywhere
  4. Feb 1, 2022Gone from 105 storefronts
  5. Sep 10, 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.

2020-012026-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
AnguillaAIUnavailableApr 1, 20214 years ago
Antigua & BarbudaAGUnavailableAug 6, 20224 years ago
ArgentinaARUnavailableJan 30, 20252 years ago
ArmeniaAMUnavailableApr 29, 20214 years ago
AustraliaAUUnavailableSep 15, 20222 years ago
AustriaATUnavailableJan 22, 20268 months ago
AzerbaijanAZUnavailableJul 21, 20242 years ago
BahamasBSUnavailableDec 20, 20202 years ago
BarbadosBBUnavailableAug 24, 20233 years ago
BelgiumBEUnavailableJun 11, 20224 years ago
BelizeBZUnavailableMar 23, 20214 years ago
BermudaBMUnavailableMay 15, 20214 years ago
BhutanBTUnavailableNov 22, 20224 years ago
Bosnia & HerzegovinaBAUnavailableNov 22, 20224 years ago
British Virgin IslandsVGUnavailableOct 7, 20223 years ago
BruneiBNUnavailableAug 19, 20214 years ago
Burkina FasoBFUnavailableNov 27, 20224 years ago
CameroonCMUnavailableNov 3, 20223 years ago
ChileCLUnavailableJul 17, 20223 years ago
China (Mainland)CNUnavailableDec 20, 202044 days ago
Côte d’IvoireCIUnavailableJan 22, 20268 months ago
CyprusCYUnavailableOct 2, 20224 years ago
CzechiaCZUnavailableOct 5, 20213 years ago
Dominican RepublicDOUnavailableAug 12, 20218 months ago
EcuadorECUnavailableDec 13, 20224 years ago
El SalvadorSVUnavailableJun 30, 20213 years ago
FijiFJUnavailableMar 18, 20252 years ago
FinlandFIUnavailableDec 17, 20211 year ago
GabonGAUnavailableJul 11, 20229 months ago
GeorgiaGEUnavailableNov 27, 202244 days ago
GermanyDEUnavailableNov 14, 202112 months ago
GhanaGHUnavailableJan 16, 20223 years ago
GreeceGRUnavailableOct 4, 20213 years ago
GrenadaGDUnavailableMar 12, 20212 years ago
Hong KongHKUnavailableJan 1, 20223 years ago
IcelandISUnavailableMar 6, 20218 months ago
IndiaINUnavailableFeb 1, 20223 years ago
IndonesiaIDUnavailableJul 23, 20233 years ago
JamaicaJMUnavailableOct 30, 20233 years ago
JapanJPUnavailableAug 23, 20213 years ago
JordanJOUnavailableMay 4, 20212 years ago
KazakhstanKZUnavailableFeb 1, 20224 years ago
KosovoXKUnavailableSep 8, 20233 years ago
LaosLAUnavailableApr 27, 20222 years ago
LatviaLVUnavailableSep 6, 20213 years ago
LiberiaLRUnavailableNov 7, 202145 days ago
LithuaniaLTUnavailableDec 16, 20259 months ago
LuxembourgLUUnavailableFeb 12, 20243 years ago
MacaoMOUnavailableOct 13, 20213 years ago
MadagascarMGUnavailableJul 21, 20214 years ago
MaliMLUnavailableMay 15, 20212 years ago
MaltaMTUnavailableOct 4, 20218 days ago
MauritaniaMRUnavailableMay 4, 20213 years ago
MauritiusMUUnavailableOct 14, 20213 years ago
MoldovaMDUnavailableSep 6, 20213 years ago
MongoliaMNUnavailableOct 13, 20213 years ago
MontserratMSUnavailableMay 12, 20222 years ago
MoroccoMAUnavailableSep 10, 20224 years ago
MozambiqueMZUnavailableSep 25, 20213 years ago
Myanmar (Burma)MMUnavailableNov 21, 20224 years ago
NamibiaNAUnavailableDec 20, 20205 months ago
NauruNRUnavailableJun 19, 20248 days ago
NepalNPUnavailableDec 13, 20223 years ago
NetherlandsNLUnavailableDec 20, 20208 days ago
New ZealandNZUnavailableAug 12, 20224 years ago
NicaraguaNIUnavailableJun 19, 20214 years ago
NigerNEUnavailableApr 29, 20214 years ago
North MacedoniaMKUnavailableJan 13, 20243 years ago
PanamaPAUnavailableJun 7, 20213 years ago
Papua New GuineaPGUnavailableApr 1, 20213 years ago
ParaguayPYUnavailableAug 17, 20248 months ago
PeruPEUnavailableJun 21, 20214 years ago
PhilippinesPHUnavailableNov 26, 20224 years ago
PolandPLUnavailableMay 1, 20222 years ago
PortugalPTUnavailableApr 27, 20222 years ago
RussiaRUUnavailableApr 27, 20228 months ago
RwandaRWUnavailableJul 31, 202216 months ago
Saudi ArabiaSAUnavailableNov 19, 20213 years ago
SenegalSNUnavailableMar 9, 20234 years ago
SeychellesSCUnavailableAug 29, 20242 years ago
Sierra LeoneSLUnavailableJul 21, 20213 years ago
SloveniaSIUnavailableJan 25, 20234 years ago
Solomon IslandsSBUnavailableAug 12, 20213 years ago
South KoreaKRUnavailableSep 10, 20224 years ago
SpainESUnavailableDec 20, 202016 months ago
Sri LankaLKUnavailableNov 7, 20213 years ago
St. Kitts & NevisKNUnavailableMar 12, 20213 years ago
St. LuciaLCUnavailableMar 23, 20213 years ago
St. Vincent & GrenadinesVCUnavailableAug 23, 20213 years ago
SurinameSRUnavailableJul 21, 20224 years ago
SwedenSEUnavailableJun 10, 20233 years ago
TajikistanTJUnavailableMar 6, 20216 months ago
TanzaniaTZUnavailableMay 1, 20222 years ago
ThailandTHUnavailableJun 19, 202116 months ago
TongaTOUnavailableJul 17, 20222 years ago
TürkiyeTRUnavailableJun 21, 20213 years ago
TurkmenistanTMUnavailableMar 23, 202316 months ago
Turks & Caicos IslandsTCUnavailableOct 5, 20212 years ago
UkraineUAUnavailableApr 27, 20222 years ago
United Arab EmiratesAEUnavailableDec 13, 20228 days ago
United StatesUSUnavailableDec 20, 20208 days ago
UzbekistanUZUnavailableSep 25, 20213 years ago
VanuatuVUUnavailableNov 26, 20224 years ago
VietnamVNUnavailableJun 30, 20214 years ago
YemenYEUnavailableSep 3, 20224 years ago
AfghanistanAFNot tested0
AlbaniaALNot tested0
AlgeriaDZNot tested0
AngolaAONot tested0
BahrainBHNot tested0
BelarusBYNot tested0
BeninBJNot tested0
BoliviaBONot tested0
BotswanaBWNot tested0
BrazilBRNot tested0
BulgariaBGNot tested0
CambodiaKHNot tested0
CanadaCANot tested0
Cape VerdeCVNot tested0
Cayman IslandsKYNot tested0
ChadTDNot tested0
ColombiaCONot tested0
Costa RicaCRNot tested0
CroatiaHRNot tested0
DenmarkDKNot tested0
DominicaDMNot tested0
DR CongoCDNot tested0
EgyptEGNot tested0
EstoniaEENot tested0
EswatiniSZNot tested0
FranceFRNot tested0
GambiaGMNot tested0
GuatemalaGTNot tested0
Guinea-BissauGWNot tested0
GuyanaGYNot tested0
HondurasHNNot tested0
HungaryHUNot tested0
IraqIQNot tested0
IrelandIENot tested0
IsraelILNot tested0
ItalyITNot tested0
KenyaKENot tested0
KuwaitKWNot tested0
KyrgyzstanKGNot tested0
LebanonLBNot tested0
LibyaLYNot tested0
MalawiMWNot tested0
MalaysiaMYNot tested0
MaldivesMVNot tested0
MexicoMXNot tested0
MicronesiaFMNot tested0
MontenegroMENot tested0
NigeriaNGNot tested0
NorwayNONot tested0
OmanOMNot tested0
PakistanPKNot tested0
PalauPWNot tested0
QatarQANot tested0
Republic of the CongoCGNot tested0
RomaniaRONot tested0
São Tomé & PríncipeSTNot tested0
SerbiaRSNot tested0
SingaporeSGNot tested0
SlovakiaSKNot tested0
South AfricaZANot tested0
SwitzerlandCHNot tested0
TaiwanTWNot tested0
Trinidad & TobagoTTNot tested0
TunisiaTNNot tested0
UgandaUGNot tested0
United KingdomGBNot tested0
UruguayUYNot tested0
VenezuelaVENot tested0
ZambiaZMNot tested0
ZimbabweZWNot 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.