Privacy
Ano ang alam ng TrainsPh
tungkol sa iyo, at ano ang hindi
Sakop ng patakarang ito ang TrainsPh mobile app (com.nico.trainsph, Android at iOS) at ang website na ito, ang trains.ph. Nakasulat ito para ilarawan ang aktwal na ginagawa ng software, hindi para mag-reserba ng mga karapatang wala naman kaming gagamitan.
Epektibo 20 Setyembre 2026 Bersyon 1.1 App TrainsPh 17 Site trains.ph
01 Buod
Ang maikling bersyon
Walang account. Hindi mo kailanman ibibigay sa TrainsPh ang pangalan, email address o numero mo para magamit ang app, at walang ginagawa mo rito ang nakakabit sa isang tao.
- Hindi umaalis sa telepono mo ang lokasyon mo. Binabasa ito kapag binuksan mo ang tanawin ng pinakamalapit na istasyon, ikinukumpara sa mga coordinate ng istasyon na nasa device na, at pagkatapos ay itinatapon. Hindi ito iniimbak at hindi ipinapadala.
- Ang tanging ina-upload ng app ay crowd report — isang istasyon, antas ng siksikan mula 1 hanggang 4, at oras, na may tatak na anonymous na ID na ibinibigay ng Firebase sa install.
- Sinusukat ng app kung paano ito ginagamit, at puwede mo itong i-off. Kung aling screen ang binubuksan mo, aling pamasahe ang tinitingnan mo, aling feature ang ginagamit mo at kung ano ang nagkakamali. Naka-on ito kapag ini-install mo ang app; nasa Tungkol at pinagkunan ang switch at agad itong tumatalab. Hindi kailanman ang lokasyon mo, hindi ang mga tinitipa mo, hindi ang advertising identifier mo.
- Walang crash reporting SDK at walang advertising. Walang crash reporting library ang app, walang ad library, at hindi nito binabasa ang advertising identifier mo.
- Walang tracking sa website. Walang cookies ang trains.ph at walang analytics. Ang tanging kinukuha nito ay email address, at iyon lang kung magta-type ka ng isa sa relaunch form.
- Opsyonal ang lahat maliban sa pamasahe. Puwedeng tanggihan ang lokasyon, ang mga notification at ang pag-uulat ng siksikan, at gagana pa rin ang app sa dahilan kung bakit ito ginawa.
Nandito ang buod na ito para sa bilis, hindi para palitan ang mga sumusunod. Kung magkaiba ang mababasa sa dalawa, ang mga sugnay sa ibaba ang masusunod.
02 Controller
Sino ang may hawak
Ginawa at pinapatakbo ang TrainsPh ni John Nicholai Villegas, sa ilalim ng TAIO Labs, sa Pilipinas. Para sa layunin ng Data Privacy Act of 2012 (Republic Act No. 10173), siya ang personal information controller para sa app at sa site na ito.
Ang TrainsPh ay boluntaryo at malayang proyekto. Hindi ito pinapatakbo ng Department of Transportation, ng LRTA, ng MRTA, ng PNR o ng alinmang ahensya ng gobyerno, at wala sa kanila ang tumatanggap ng datos mula rito.
Ang mga tanong, kahilingan at reklamo ay ipadala sa taioappsdevelopment@gmail.com.
03 Ang app
Ano ang kinukuha ng app
Isang anonymous na ID, ibinibigay sa install
Para makapagbahagi ng crowd report, anonymous na nagsa-sign in ang app sa Firebase Authentication. Nagbibigay ang Firebase ng random na identifier — isang uid — sa install na iyon. Hindi ito galing sa numero mo, email mo, Google o Apple account mo, advertising identifier mo o anumang hardware serial, at walang laman ito o nakakabit dito na nagpapangalan sa iyo.
Ang tanging trabaho nito ay payagan ang server na ipatupad ang dalawang patakaran: na may tatak ang ulat ng identidad na sumulat nito, at na hindi makapagpapasa ang isang install ng higit sa isang ulat kada istasyon kada limang minuto. Burahin ang app at kasama nitong mawawala ang identifier; bagong identifier ang makukuha sa muling pag-install.
Usage analytics
Gumagamit ang app ng Google Analytics for Firebase para itala kung paano ito ginagamit. Naka-on ito kapag ini-install mo, at puwede mo itong i-off anumang oras sa Tungkol at pinagkunan → Magbahagi ng usage data. Kapag ni-off mo, agad titigil ang pangongolekta at naaalala ito.
Ano ang itinatala nito:
- Mga screen — aling bahagi ng app ang binubuksan mo.
- Pagtingin ng pamasahe — ang dalawang istasyon, ang uri ng tiket at kung may napiling concession. Itinatala ang istasyon gamit ang internal na identifier nito, ang mismong pinipili mo sa listahan.
- Mga feature na ginamit — pag-save ng biyahe, pagpapadala ng crowd report, pag-on ng notification, at iba pa.
- Mga bagay na nagkamali — pag-download ng datos na nabigo, pahintulot sa lokasyon na tinanggihan, biyaheng hindi maplano. Itinatala bilang maikling code na kami ang pumili, hindi kailanman bilang mensahe ng error.
- Wika — kung Ingles o Filipino ang takbo ng app.
- Karaniwang impormasyon ng Firebase — modelo ng device, bersyon ng operating system, bansa, bersyon ng app, at isang app instance identifier na ibinibigay ng Google sa installation.
Ang hindi nito kailanman itinatala: ang lokasyon mo, ang advertising identifier mo, at anumang tinitipa mo. Nagbabasa ng GPS ang feature na pinakamalapit na istasyon at hindi pa rin umaalis sa telepono mo ang pagbabasang iyon; ang naitatala ay ang istasyong natukoy nito, na hindi naman mas tiyak kaysa sa pagpili mo mismo nito sa listahan.
Pinoproseso ng Google ang analytics data sa ilalim ng sarili nitong mga tuntunin. Kapag tinanggal mo ang app, titigil ang pangongolekta; kasama nitong mawawala ang instance identifier at bagong identifier ang makukuha sa muling pag-install.
Mga crowd report
Kapag pinindot mo ang antas ng siksikan, ito lang ang isinusulat ng app:
- Istasyon — kung aling istasyon ang iniuulat mo.
- Antas — numero mula 1 hanggang 4.
- Oras — itinatakda ng server, hindi ng telepono mo.
- Ang anonymous na ID — para maipatupad ang mga patakaran sa pagsulat at ang limitasyon sa dalas.
Walang teksto, walang litrato, walang coordinate. Append-only ang mga ulat: wala sa app o sa mga patakaran ng database ang nagpapahintulot na baguhin o bawiin ang isang ulat kapag naisulat na. Sinadya iyon para manatiling matapat ang crowd data, at iyon din ang dahilan kung bakit walang personal na laman ang isang ulat sa simula pa lang. Isang bagay lang ang pagbubukod: ang edad — pagkatapos ng 90 araw, pinapayagan ng mga patakaran na burahin ang isang ulat, at wala nang iba.
Pagpapatunay ng device
Hinihingi ng Firebase App Check sa plataporma — Play Integrity sa Android, App Attest / DeviceCheck sa Apple — na kumpirmahin na ang mga request ay galing sa tunay na kopya ng TrainsPh sa tunay na device. Ito ang pumipigil sa kahit sino na mag-script ng mga sign-up para lasunin ang crowd data. Ang Google at Apple ang gumagawa ng mga pagsusuring iyon; tumatanggap lang ang app ng panandaliang token at hindi nito nakikita ang detalye ng device sa likod nito.
Datos ng pamasahe at istasyon
Nakalagay sa loob ng app ang bawat pamasahe, istasyon at tantyang oras ng biyahe, kaya gumagana ang pangunahing bahagi nito nang walang network at walang kahit anong pahintulot. Sa pagbukas, kumukuha ang app ng maliit na manifest mula sa trainsph-data.web.app at nagda-download lang ng dataset kung nagbago ang laman nito. Ordinaryong HTTPS request iyon, at wala itong dalang tungkol sa iyo maliban sa dala ng kahit anong web request — tingnan ang sino pa ang humahawak nito.
04 Lokasyon
Nananatili sa device ang lokasyon mo
Isang feature lang ang dahilan kung bakit humihingi ng lokasyon ang app: ang pagpapakita kung aling istasyon ang pinakamalapit sa iyo. Kapag binuksan mo ang tanawing iyon, humihingi ito ng isang beses na fix sa katamtamang accuracy — daan-daang metro ang pagitan ng mga istasyon, kaya walang mapapala sa katumpakang pang-metro at mauubos lang ang baterya — at ikinukumpara ito sa mga coordinate ng istasyon na nasa loob na ng app.
- Foreground lang. Binabasa ang lokasyon habang nakatingin ka sa screen na iyon. Walang idinedeklarang background-location permission ang app at hindi ka nito sinusubaybayan sa pagitan ng mga paggamit.
- Hindi isinusulat. Nasa memory lang ang fix para mag-ayos ng listahan at nawawala ito pagsara ng screen. Hindi ito sine-save sa storage.
- Hindi ipinapadala. Walang coordinate na ipinapadala sa amin, sa Firebase, o sa kaninuman. Istasyon ang dala ng isang crowd report, hindi posisyon.
- Puwedeng tanggihan, tuluyan. Tanggihan ang pahintulot at gagana pa rin nang buo ang lahat ng ibang bahagi ng app; sa listahan ka na lang pipili ng istasyon.
Puwede mong bawiin ang pahintulot kahit kailan sa settings ng telepono mo, at ginawa ang app na ituring iyon na normal na sagot, hindi error.
05 Push
Mga notification
Opt-in ang mga notification. Walang sinu-subscribe hangga't hindi ka humihingi, at sinadyang hindi ipakita ang permission prompt sa unang pagbukas.
Kapag binuksan mo ang mga ito, nagbibigay ang Firebase Cloud Messaging ng device token sa install mo at isinu-subscribe ito sa topic na advisories. Ang token ay address ng telepono, hindi pangalan: sa topic kami nagpapadala, hindi kailanman sa isang tao. Kamay ang naglalathala ng mga advisory at limitado ang mga ito sa kung ano ang sira sa riles ngayon.
Walang re-engagement push, walang marketing push, at walang "nakatulong ang ulat mo" na push. Ang pagpatay ng notification sa app ay nag-a-unsubscribe sa topic; ang pagpatay nito sa settings ng telepono mo ay humihinto sa kanila kahit ano pa.
06 Sa device
Ano ang nananatili sa telepono mo
May ilang bagay na nakatago sa device para mabilis ang app at gumana itong offline. Wala sa mga ito ang ina-upload, at mawawala ang lahat kapag inalis mo ang app o nilinis ang storage nito:
- Ang sarili mong mga crowd report, para alam ng app na nag-ulat ka na sa isang istasyon at hindi nawawala ang pindot kapag wala kang signal.
- Mga na-download na dataset ng pamasahe at istasyon, pati ang manifest na naglalarawan sa kanila.
- Ang mga kagustuhan mo, gaya ng kung humingi ka ng mga advisory.
Ang paglilinis ng data ng app ay nagre-reset sa lahat ng ito. Hindi namin ito maibabalik, dahil wala kaming kopya kailanman.
07 Ang site
Ang trains.ph mismo
Mga static na pahina ang site na ito. Walang cookies, walang analytics, at walang tracking pixel o naka-embed na social widget — ordinaryong link lang ang mga social link.
Ang relaunch form
Kapag pinunan mo ang "abisuhan ako sa relaunch" na form, ang email address na ita-type mo, ang linyang pipiliin mo at ang anumang isusulat mo sa message box ay ipinapadala sa Kit (dating ConvertKit), ang mailing-list service na ginagamit namin, at ginagamit para sa isang layunin: sabihin sa iyo kung kailan babalik ang app, at basahin ang hiniling mo. Hindi ito ibinebenta, pinapaupahan o ibinabahagi. May unsubscribe link ang bawat email, at inaalis ka ng pag-unsubscribe.
May nakatagong field sa form na iyon na hindi nakikita ng tao. Kapag napunan ito, itinatapon ang isinumite bilang spam. Iyon lang ang tanging tsek na ginagawa ng form, at ang form ang tinitingnan nito, hindi ikaw.
Hosting at mga font
Ang site ay hinahain ng Firebase Hosting, na nag-iingat ng ordinaryong server logs, at kumukuha ito ng dalawang typeface mula sa Google Fonts, kaya humihingi ang browser mo sa Google para kunin ang mga ito. Nasa talahanayan sa ibaba ang dalawa.
08 Mga processor
Sino pa ang humahawak nito
Maliit na proyekto ang TrainsPh at umaandar ito sa imprastraktura ng iba. Ito ang lahat ng humahawak ng datos para sa amin — buong listahan, hindi halimbawa lang. Bawat isa ay may sariling mga tuntunin, at bawat isa ay nasa labas ng Pilipinas, kaya maaaring iproseso sa ibang bansa ang datos mo.
| Sino | Ano ang umaabot sa kanila | Bakit |
|---|---|---|
| Google Firebase Auth, Realtime Database, Cloud Messaging, App Check, Hosting |
Anonymous na install ID; mga crowd report; push token at topic; IP address at request metadata sa server logs | Nagpapatakbo ng magkakabahaging crowd data, ng mga advisory push, at ng site na ito at ng dataset host |
| Google Play Apple |
Mga senyales ng integridad ng device, hinahawakan ng plataporma; anuman ang itinatala mismo ng store tungkol sa pag-download mo | Kinukumpirma na galing sa tunay na app sa tunay na device ang mga request; namamahagi ng app |
| Kit dating ConvertKit |
Email address, piniling linya at mensahe — mula sa website form lang, hindi kailanman mula sa app | Nagpapadala ng iisang email na nag-aanunsyo ng relaunch |
| Google Fonts | Ang IP address at browser mo, kapag kinakarga ng website na ito ang dalawang typeface nito | Typography sa trains.ph. Nakabalot na sa app ang mga font nito kaya wala itong ganitong request |
Hindi kami nagbebenta ng personal na datos, at hindi namin ito ibinabahagi sa mga advertiser, data broker o ahensya. Walang nasa itaas ang pagbebenta, o paglalahad para sa marketing ng iba.
09 Mga limitasyon
Ang hindi namin ginagawa kailanman
Sinasabi nang diretso, dahil walang sinasabi sa iyo ang patakarang naglilista lang ng puwedeng gawin ng isang kumpanya. Sa bersyong ito, hindi ginagawa ng TrainsPh ang mga sumusunod:
- humingi ng pangalan, email, numero o anumang identifier ng gobyerno sa loob ng app;
- magbasa ng contacts, litrato, camera, mikropono, kalendaryo, call log o SMS — hindi man lang idinedeklara ang mga pahintulot na iyon;
- magbasa o gumamit ng advertising identifier, at wala itong ipinapakitang ads;
- magpatakbo ng session recording, heatmap o anumang screen capture — binibilang lang ng usage analytics sa itaas ang mga event na kami mismo ang pumili at nagpangalan, wala nang iba;
- mag-imbak o magpadala ng lokasyon mo, o idikit ito sa isang analytics event;
- bumuo ng profile mo, o gumawa ng anumang awtomatikong desisyon tungkol sa iyo;
- magbenta, magpaupa o magpalit ng datos sa kaninuman.
Kung magbago ang alinman dito, dito muna ito magbabago — tingnan ang mga pagbabago sa patakarang ito.
10 Pag-iimbak
Gaano katagal itinatago
- Ang mga crowd report ay hindi na nakakaapekto sa nakikita ninuman pagkatapos ng 45 minuto — iyon lang ang bintanang binabasa ng app. Ang mas lumang row ay hindi na ipinapakita kaninuman at wala itong laman kundi istasyon, antas, oras at random na install ID.
- Binubura ang mga crowd report pagkatapos ng 90 araw. Hindi ito patakarang pinapangako naming tatandaan: walang pinapayagan ang mga patakaran ng database na magbura ng ulat bago mag-90 araw, at pinapayagan ang sinuman na burahin ito pagkatapos — kaya ang pag-expire ay katangian na mismo ng datos, hindi ng isang prosesong puwedeng tahimik na huminto. Hindi kailanman puwedeng baguhin o bawiin ang isang ulat habang mahalaga pa ito.
- Ang anonymous na ID ay tumatagal hangga't nakainstall ang app. Nagtatapos ito sa pag-uninstall.
- Ang mga push token ay tumatagal hanggang mag-unsubscribe ka, mag-uninstall, o pawalang-bisa ng plataporma ang token.
- Ang server logs ay itinatago ng Google sa iskedyul ng Google; hindi namin ito hinahalungkat.
- Ang mga signup sa website ay itinatago hanggang mag-unsubscribe ka o hilingin mong burahin, at sa anumang kaso ay hindi hihigit sa kailangan ng anunsyo ng relaunch.
11 Mga karapatan
Mga karapatan mo
Sa ilalim ng Data Privacy Act of 2012, may karapatan kang malaman, at may karapatan ka sa access, pagwawasto, pagtutol, pagbura o pagharang, danyos, data portability, at sa pagrereklamo sa National Privacy Commission.
Mag-email sa taioappsdevelopment@gmail.com at sasagot kami sa loob ng 15 araw. Dalawang tapat na limitasyon sa kung ano ang kaya naming gawin:
- Hindi masusundan pabalik sa iyo ang datos ng app, dahil hindi namin nalalaman kung sino ka. Ang isang crowd report ay may istasyon, antas, oras at random na install ID. Maliban kung masasabi mo sa amin ang ID na iyon, wala kaming paraan para hanapin ang "mga row mo" at wala kaming paraan para patunayang sa iyo ang mga ito — proteksyon iyon sa privacy, hindi pag-iwas. Ang pag-uninstall ang nagtatapos ng ugnayan sa panig mo.
- Sinadyang append-only ang mga crowd report. Walang pinapayagang pag-edit ang mga patakaran ng database, at walang pagbura hangga't hindi pa 90 araw ang ulat, kaya hindi na mababawi ang isang ulat matapos itong maisulat. Nawawala ito sa lahat ng pagbabasa sa loob ng 45 minuto at tuluyan nang binubura sa 90 araw.
Iba ang mga signup sa website: may hawak kaming email address doon, kaya diretso ang access, pagwawasto at pagbura. Magtanong, o gamitin ang unsubscribe link sa kahit aling email.
12 Mga bata
Mga bata
Ang TrainsPh ay kasangkapan sa pagbibiyahe para sa pangkalahatang publiko, hindi serbisyong nakatutok sa mga bata. Wala itong kinukuhang personal na impormasyon mula kaninuman, pati na sa mga bata — walang account, walang pangalan at walang detalye ng kontak na kukunin. Ang form sa website ay humihingi ng email address at para sa mga nasa hustong gulang.
Kung sa tingin mo ay may batang nagpadala sa amin ng personal na impormasyon sa pamamagitan ng form sa website, mag-email sa amin at buburahin namin ito.
13 Kasaysayan
Ang app noong 2017
Inilabas ang unang TrainsPh noong 2017 at wala na ito sa store. Mas mabuting sabihin kung ano ang nangyari sa datos nito kaysa tahimik na iwanan ang usapin.
Kinikilala ng bersyong iyon ang mga device sa pamamagitan ng ANDROID_ID, na galing sa client at hindi kayang patunayan ng server, at sumusulat ito sa database na ang mga node — chat, ratings, active users — ay mababasa ninuman na makakakita ng URL. Wala na ang backend nito, at sarado ang bawat isa sa mga node na iyon sa kasalukuyang mga patakaran sa halip na dalhin pasulong. Walang mula rito ang pumapasok sa bagong app.
Nagpapakita rin ang app noong 2017 ng live na CCTV ng istasyon mula sa Department of Transportation. Natapos ang access na iyon kasama ng lumang app; walang bidyong umaabot sa bago.
14 Mga pagbabago
Mga pagbabago sa patakarang ito
Ginagawa pang muli ang app, kaya magbabago ang patakarang ito habang dumarating ang mga feature. Gumagalaw ang numero ng bersyon at ang petsa ng bisa sa itaas ng pahinang ito sa tuwing mangyayari iyon.
Kung ang isang pagbabago ay nangangahulugang may bagong kukunin, o gagamitin sa ibang layunin ang nakuha na, sasabihin namin ito sa loob ng app bago ito maging epektibo — hindi lang dito.
15 Kontak
Magtanong ka sa amin tungkol dito
John Nicholai Villegas, TAIO Labs — Pilipinas
taioappsdevelopment@gmail.com
Kung hindi ka nasisiyahan sa sagot namin, maaari kang magdala ng reklamo sa National Privacy Commission ng Pilipinas sa privacy.gov.ph.