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 5 Nobyembre 2026 Bersyon 2.2 App TrainsPh 30 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 kailanman ipinapadala kung saan man ang lokasyon mo sa paghahanap ng malapit na istasyon. Binabasa ito kapag hiniling mo — sa tanawin ng pinakamalapit na istasyon, o kapag inilagay mo ang sarili mo sa mapa — ikinukumpara sa mga coordinate ng istasyon na nasa device na, at pagkatapos ay itinatapon.
- Ipinapadala naman ito ng pagbabahagi ng posisyon mo sa ibang pasahero, at naka-off ito hangga't hindi mo ini-on. Kung i-on mo ang live na posisyon ng tren, ipinapaskil ng app kung nasaan ka habang nakasakay ka sa tren, para makita ng mga naghihintay sa mga susunod na istasyon na paparating ito. Tumatakbo ito sa background habang bumibiyahe ka. Ini-on din ito ng pagsisimula ng biyahe (Simulan ang biyahe sa isang pamasahe), para sa biyaheng iyon lang, pagkatapos ng parehong paliwanag at pahintulot, at kusa itong nag-o-off pagkatapos ng biyahe maliban kung ikaw mismo ang nag-on nito. I-off mo ito at agad mabubura ang ipinaskil mo. Walang nakakabit na pangalan sa anumang ipinaskil mo, dahil walang account. Habang nagbabahagi ka, itinatala rin ng app kung gaano katagal bumiyahe ang tren mo sa pagitan ng mga istasyon at kung kailan ito umalis sa simula ng biyahe nito, para gumanda ang mga oras ng pagdating at ang mga hinulaang tren habang mas maraming sumasakay; binubura ang mga talang ito pagkatapos ng 90 araw.
- Bukod dito, 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; sinasabi ito ng app sa unang pagbukas, at ang switch, na nasa Mga setting at sa Tungkol at pinagkunan, ay agad 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.
- Ang mga link palabas ng app ay bumubukas sa browser o maps app mo. Ang mga pahina ng operator, pinagkunan ng balita, artikulo tungkol sa mga landmark at ang pin ng istasyon sa Google Maps ay bumubukas sa app na ginagamit mo na para doon. Ang tanging posisyong ipinapasa ng TrainsPh ay ang sa istasyon, hindi kailanman ang sa iyo.
- 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 live na posisyon ng tren, ang mga notification, ang pag-uulat ng siksikan at ang home-screen widget, 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 Mga setting → Magbahagi ng usage data o sa Tungkol at pinagkunan → Magbahagi ng usage data. Sa unang pagbukas ng app, sinasabi nito iyon sa isang strip sa itaas ng mga tab, at nasa strip mismo ang off switch. 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, kung may napiling concession, ilang linya ang tinatahak ng biyahe at ang pamasaheng ipinakita. 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, pagsagot kung tama-tama ang isang hinulaang tren (ang linya at ang sagot mo lang), 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.
- Ang pinili mo sa analytics — kapag ni-off mo ang pangongolekta, ang piniling iyon ang huling event na ipinapadala, para malaman namin kung ilan ang kumukuha ng opsyon. Naitatala rin ang pag-on nito muli.
- 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.
Live na posisyon ng tren
Ito lang ang feature sa TrainsPh na nagpapadala ng lokasyon mo palabas ng device, at wala itong ginagawa hangga't hindi mo ito ini-on sa Mga setting → Ibahagi ang live na posisyon ng tren, o hangga't hindi ka nagsisimula ng biyahe. Ini-on ito ng biyahe para sa biyaheng iyon lang, pagkatapos ipakita sa iyo ang parehong paliwanag at hingin ang parehong pahintulot, at ino-off ito ulit pagkatapos ng biyahe, maliban kung ikaw mismo ang nag-on nito.
Habang naka-on ito, binabantayan ng app ang galaw mo at nagdedesisyon — sa telepono mo, hindi sa server — kung mukhang nakasakay ka sa tren: kung sinusundan mo ang riles ng isang linya, sa aling direksyon, at sa bilis na talagang tinatakbo ng tren. Mas madalas itong tumanggi kaysa sumang-ayon, dahil ang maling sagot ay magpapahintay ng tao sa platform para sa tren na hindi darating.
Kapag sumang-ayon ito, ipinapaskil nito:
- Ang posisyon mo — latitude at longitude.
- Ang linya, ang huling istasyong nadaanan mo, at kung saan ka papunta — kinukuwenta sa telepono mo mula sa posisyong iyon.
- Oras — itinatakda ng server, hindi ng telepono mo.
- Ang anonymous na ID — ang parehong ginagamit ng mga crowd report, para masuri ng mga patakaran na pag-aari ng sumulat ang row.
Nagpapaskil ito nang humigit-kumulang tuwing sampung segundo habang nakasakay ka sa tren, at humihinto kapag bumaba ka. Kinukuwenta ng telepono ng ibang pasahero kung gaano kabilis ang tren mula sa dalawang magkasunod na ganito; walang ipinapaskil na bilis, at walang kinukuha para rito bukod sa mga nakalista sa itaas. Wala itong ipinapaskil habang naglalakad ka papunta sa istasyon, naghihintay sa platform, o bumibiyahe sa anumang paraan maliban sa tren.
Bakit ang coordinate at hindi lang ang istasyon. Ang istasyon ang ipinapakita sa ibang pasahero. Ang coordinate ang nagbibigay-daan sa app na ilagay ang tren sa pagitan ng dalawang istasyon sa halip na sa huling nadaanan, at ito ang nagpapahintulot sa amin na makilala ang tunay na ulat mula sa mali. Pinag-isipan naming ipaskil lang ang istasyon, at malaki ang ibinababa nito sa kakayahan ng feature sa mismong layunin nito. Isinulat namin kung ano ang halaga ng pagpiling iyon para sa iyo, sa halip na ilarawan ito bilang mas maliit na pagbabago kaysa sa totoo.
Agad ang paghinto. Ang pag-off ng switch ay nagbubura ng row na ipinaskil mo, doon at noon din — hindi sa susunod na paglilinis, at hindi kapag nag-expire. Pinapayagan ka ng mga patakaran ng database na burahin ang sarili mong row kahit kailan, para nga totoo iyon. Ang pag-force-quit ng app o pagkawala ng signal ay humihinto rin nito; kusang mag-e-expire ang row sa loob ng tatlumpung minuto.
Background location. Para maging kapaki-pakinabang ito, kailangang patuloy na basahin ng app ang posisyon mo habang nasa bulsa mo ang telepono. Ginagawa nito iyon gamit lang ang pahintulot na "while using the app": laging nagsisimula ang pagbabahagi habang bukas ang app, at nagpapatuloy ito mula roon na may notification sa Android na nakikita habang tumatakbo ito, at sa iOS ay ipinapakita ng system ang sarili nitong indicator. Hindi humihingi ang app ng lokasyon mo "all the time".
Ang hindi ipinapaskil. Walang pangalan, walang account, walang device identifier maliban sa anonymous na install ID, walang tinitipa mo, at walang history. Ang kasalukuyang posisyon mo lang, na pinapalitan tuwing may bago at binubura pagkatapos ng tatlumpung minuto. Wala kaming iniingatang bakas kung saan ka nanggaling, at hindi nakaayos ang database para maghawak ng ganoon.
Kung kailan umalis ang tren mo. Isang beses bawat biyahe, kinukuwenta rin ng telepono mo kung kailan umalis ang sinasakyan mong tren sa unang istasyon ng biyahe nito — "umalis ang isang tren ng MRT-3 papuntang Taft sa North Avenue nang 08:03" — at itinatala iyon, kasama ang linya, ang direksyon at ang anonymous na ID mo. Walang posisyon at walang istasyon. Ganito natututo ang app kung gaano talaga kadalas ang mga tren, kaya gumaganda ang mga hinulaang tren nito habang mas maraming sumasakay. Hanggang isang ganitong row lang ang mayroon ka bawat direksyon bawat araw; pinapalitan ng ikalawang biyahe sa parehong direksyon ang una. Binubura ang mga row na ito pagkatapos ng siyamnapung araw. Ang natutunan mula sa mga ito — ang karaniwang pagitan ng mga tren sa bawat linya at oras — ay iniingatan at inilalathala, nang walang ID o row.
Iba pang natututunan ng app mula sa mga biyahe. Habang ibinabahagi mo ang posisyon mo, itinatala rin ng app kung gaano katagal bumiyahe ang tren mo sa pagitan ng mga istasyon at gaano katagal itong huminto sa bawat isa, at — kapag lumipat ka ng linya — gaano katagal ang paglipat, lakad at hintay, bilang pangalan ng dalawang istasyon at bilang ng segundo. Pagkatapos ng biyahe, puwede nitong itanong kung saang gilid bumukas ang pinto; itinatala ang sagot mo kasama ang istasyon at direksyon. Ang mga crowd report mo, gaya ng dati. Naka-key ang bawat isa rito sa anonymous na ID mo at binubura pagkatapos ng siyamnapung araw. Ang natututunan ng app mula sa mga ito — karaniwang tagal ng biyahe, mga hinto, siksikan bawat oras, gilid ng pinto, tagal ng paglipat at ang pinakamaaga at pinakahuling tren na nakita ng mga pasahero — ay nangangailangan ng hindi bababa sa tatlong taong magkakasundo, walang ID, at iniingatan at inilalathala para patuloy na gumanda ang app.
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, pati ang oras ng serbisyo, mga landmark ng istasyon at ang baybayin sa mapa, 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.
Pag-uulat ng maling pamasahe
Kung hindi tumutugma ang pamasahe sa app sa siningil sa iyo, wala mismong ipinapadala ang app. Kinokopya nito ang isang maikling template at ang email address namin sa clipboard mo, at ikaw ang magpapadala ng email mula sa sarili mong mail app, kung gugustuhin mo. Ang umaabot sa amin ay eksaktong ipinadala mo — kasama, hindi maiiwasan, ang address na pinagpadalhan mo — at isang layunin lang ang gamit nito: suriin ang pamasahe at iwasto ang datos. Ito lang ang malayang teksto sa app, at hindi ito kailanman analytics event.
Mga link na lumalabas sa app
Naka-link ang screen ng mga advisory sa sariling mga pahina ng mga operator — LRMC, LRTA at DOTr MRT-3 sa Facebook, at ang mga pinagkunan ng balitang binabanggit ng isang advisory. Naka-link ang sheet ng istasyon sa Wikipedia para sa mga landmark sa paligid nito, at kaya nitong buksan ang posisyon ng istasyon sa Google Maps. Bawat ganitong link ay bumubukas sa browser mo o sa kaukulang app, hindi kailanman sa loob ng TrainsPh, kaya walang ginagawa mo doon ang dumadaan sa amin. Dala ng link sa mapa ang mga coordinate at pangalan ng istasyon, hindi ang sa iyo. Kapag nasa site ka na ng iba, ang kanilang privacy policy ang masusunod. Kung wala sa telepono mo ang kayang magbukas ng link, kinokopya na lang ito sa clipboard mo.
04 Lokasyon
Dalawang magkaibang bagay, at isa lang ang umaalis sa telepono mo
Gumagamit ang TrainsPh ng lokasyon para sa dalawang feature. Magkaiba ang kilos ng bawat isa at mahalagang malaman kung alin ang alin.
Paghahanap ng pinakamalapit na istasyon — sa device, palagi
Kapag binuksan mo ang tanawin ng pinakamalapit na istasyon, o tinap ang button na naglalagay sa iyo sa mapa, humihingi ang app 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 habang nakatingin ka sa mga screen na iyon.
- Hindi isinusulat. Nasa memory lang para mag-ayos ng listahan o gumuhit ng tuldok, at nawawala pagsara ng screen.
- 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.
Hindi ito nagbago mula sa mga naunang bersyon ng app at ng patakarang ito.
Pagbabahagi ng live na posisyon ng tren — naka-off bilang default, at ipinapadala nga ito
Buong inilarawan sa kung ano ang kinukuha ng app. Sa madaling salita: ini-on mo ito, ipinapaskil ng app kung nasaan ka habang pinaniniwalaan nitong nakasakay ka sa tren, nakikita ng ibang pasahero ang tren na papalapit sa istasyon nila, at puwede mo itong i-off kahit kailan at mabubura ang ipinaskil mo.
Naka-off ito kapag ini-install mo ang app. Walang ipapaskil hangga't hindi mo ito ini-on o hindi ka nagsisimula ng biyahe, at alinman sa dalawa ay ipinapakita sa iyo kung ano ang gagawin nito bago ito magsimula. Natatapos ang pagbabahagi ng isang biyahe kasabay ng biyahe.
Pagbawi
Puwede mong bawiin ang pahintulot sa lokasyon kahit kailan sa settings ng telepono mo, at ginawa ang app na ituring iyon na normal na sagot, hindi error. Humihinto rin ang live na posisyon sa pagbawi, at mag-e-expire sa loob ng tatlumpung minuto ang anumang row na ipinaskil mo.
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.
Maaari ring gisingin ng isang advisory ang app nang saglit sa background, para ma-update ang home-screen widget nang hindi mo binubuksan ang app. Iyon lang ang tanging gawain ng app sa background: kinukuha nito ang kasalukuyang mga advisory, iginuguhit muli ang widget, at wala itong ipinapadala.
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 namin, 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 na-save mong biyahe, para isang pindot lang ang biyaheng kinukuwenta mo araw-araw.
- Ang mga setting mo — wika, yunit, default sa pamasahe, kung humingi ka ng mga advisory, at ang pinili mo sa analytics.
- Ang laman ng home-screen widget — ang pinakaseryosong kasalukuyang advisory at ang una mong na-save na biyahe, isinusulat ng app sa isang maliit na imbakan na kayang basahin ng widget, at wala nang iba.
Ang paglilinis ng data ng app ay nagre-reset sa lahat ng ito. Hindi namin ito maibabalik, dahil wala kaming kopya kailanman.
Isang bagay na hindi namin kontrolado: ang sariling backup ng telepono mo. Nagba-backup ang Google at Apple ng storage ng app sa account mo ayon sa sarili nilang mga patakaran, kaya maaaring naroon sa backup ang mga na-save mong biyahe at setting. Sa iyo ang kopyang iyon, nasa account mo, at hindi namin ito mababasa. Sa Android, sinadyang hindi isinasama ng app sa backup ang anonymous na ID at ang push credential, kaya bago ang makukuha ng na-restore o nailipat na telepono.
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, Analytics, Hosting |
Anonymous na install ID; mga crowd report; live na posisyon ng tren, habang ibinabahagi mo ito; push token at topic; mga usage analytics event at ang app instance ID, maliban kung i-off mo ang mga ito; IP address at request metadata sa server logs | Nagpapatakbo ng magkakabahaging crowd data, ng mga advisory push, ng usage analytics, 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. Isang item ang tinanggal sa bersyon 2.0: nangako ang mga naunang bersyon na hindi kailanman ipinapadala ang lokasyon, at ipinapadala ito ng live na posisyon ng tren. Inilarawan iyon sa itaas sa halip na ibaon dito. 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;
- magpakita ng website ng iba sa loob ng app — bawat link ay napupunta sa browser o maps app mo, kaya walang ginagawa mo doon ang dumadaan sa TrainsPh;
- 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;
- ikabit ang lokasyon mo sa isang analytics event, o itala kung saan ka nanggaling — ipinapaskil ng live na posisyon ng tren kung nasaan ka ngayon, sa loob ng tatlumpung minuto, at walang hawak na history ang database;
- 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.
- Binubura ang live na posisyon ng tren pagkatapos ng 30 minuto, at hindi na ipinapakita sa kaninuman pagkatapos ng 10. Tulad ng mga crowd report, ipinatutupad ito sa mga patakaran ng database sa halip na ipangako lang: walang makakabasa ng posisyong ganoon na katanda, at kahit sino ay puwedeng burahin ito. Hindi tulad ng crowd report, puwede mong burahin ang sa iyo kahit kailan, at iyon mismo ang ginagawa ng pag-off ng feature.
- Walang iniingatang history ng posisyon. Pinapalitan ng bawat bagong posisyon ang nauna sa halip na idagdag sa listahan, kaya walang coordinate mo ang tumatagal lampas sa susunod. Pero may pangalan ng istasyon ang mga tala ng biyahe sa ibaba — isang bahaging sinakyan mo, isang linyang nilipatan mo — at may anonymous na ID mo ang bawat isa, kaya 90 araw lang itinatago ang mga ito.
- Binubura ang tagal ng biyahe, mga hinto, sagot tungkol sa pinto at tagal ng paglipat pagkatapos ng 90 araw, na ipinatutupad din sa mga patakaran ng database. Walang ID ang natutunan mula sa mga ito at iniingatan ito.
- Binubura ang mga pag-alis ng tren pagkatapos ng 90 araw, na ipinatutupad sa mga patakaran ng database gaya ng mga crowd report. Ang sinasabi lang ng bawat isa ay may tren sa isang linya at direksyon na umalis sa unang istasyon nito sa isang oras, naka-key sa anonymous na ID mo. Walang ID ang mga headway na natutunan mula sa mga ito at iniingatan ang mga 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 email tungkol sa maling pamasahe ay itinatago habang sinusuri ang pamasahe at iniwawasto ang datos, at binubura kapag hiniling mo.
- 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.
- Ang live na posisyon ng tren ang eksepsiyon, at sa mabuting paraan. Naka-key ang row ng posisyon mo sa anonymous na ID ng install mo, at kayang burahin ito ng app dahil alam nito ang sarili nitong ID. Agad itong binubura ng pag-off ng live na posisyon — hindi mo kailangang humingi sa amin, at hindi namin ito magagawa nang mas mabilis kaysa sa iyo.
Iba ang mga signup sa website at ang mga email tungkol sa maling pamasahe: may hawak kaming email address doon, kaya diretso ang access, pagwawasto at pagbura. Magtanong, o para sa mga signup, 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.