"Fly high but don't fly alone"
ผลการแงะแอป Everfilter ประมวลผลภาพฝั่ง Server เก็บข้อมูลค่อนข้างเยอะแต่(น่าจะ)ปลอดภัย
5 Dec 2016 14:01   [346979 views]

เห็นคนใช้แอป Everfilter เยอะพอสมควร หลายๆคนก็เริ่มกังวลว่าจะเหมือน Makeup Plus มั้ย มีการแอบเก็บข้อมูลรึเปล่า บลาๆๆๆ วันนี้เริ่มวุ่นน้อยลงเลยขอมานั่งแงะแอป Everfilter ดูตามเวลาที่มีครับ ตามนี้


แอปไม่มีการขอเข้าถึง Permission แปลกๆใดๆทิ้งสิ้นครับ มีแค่ขอเข้าถึง Gallery เท่านั้นเอง ส่วนที่เหลือเป็น Permission เบสิคครับ เช่น Internet หรือการดูข้อมูลของอุปกรณ์

Privacy Policy ของแอป

แอปนี้ถือว่าค่อนข้างแฟร์ เพราะเอา Privacy Policy แปะไว้หน้าแรกเรียบร้อย ข้อมูลตามนี้ครับ

We recognize that privacy is significant. This Privacy Policy (“Policy”) applies to your use of the TopBuzz applications on all platforms (the “Application” or “Applications”), the related services we provide (“Services”) and the Site.

We has created this Policy to explain our privacy practices so that you will understand what information about you is collected, used and disclosed with respect to the Applications, the Services and the Site.

By using Application, the Services or the Site, you consent to the privacy practices described in this Policy.This Policy covers our collection, use and disclosure of your information through the Applications, the Services and the Site. 


a. Personal Information. When you download TopBuzz, to make the content personal for you, our equipment will automatically record information as follows.

1. International Mobile Station Equipment (IMEI) number or similar device identification numbers.

2. the make, model and manufacturer of your device.

3. the version of your operating system.

4. a list of mobile applications you have installed on your device.

5. your Internet Protocol address.

6. the account information, might through third party, you use to enter or login in our application

b. Non-personal identification. We may collect non-personal identification information about Users whenever they interact with our apps. Non-personal identification information may include the type of your phone and technical information about Users means of connection to our apps, such as the versions of phone model and other similar information.

1. Session and Usage Data. "Session and Usage Data" is information about your use of the Application, the Services and/or the Site and includes, without limitation, connection and service-related data submitted to us through your use of an Application, the Services or the Site. Session and Usage Data includes information relating to the connection request, server communication and data sharing, including network measurements, quality of service, and date, time and location of the bump. We also may aggregate Session and Usage data as described in Aggregate Information below. .

2. Log Data. When you interact with us or use an Application, the Services or our Site, our systems may automatically collect your unique User Device number, the IP address, type of browser or operating system you use, and the dates and times of your use ("Log Data").

3. Aggregate Information. "Aggregate Information" is data we collect about a group or category of services or Users from which individual User identities have been removed. In other words, information on how you use the Applications, the Services and the Site may be collected and combined with information about how others use the Applications, the Services and the Site, but no personally identifiable information will be included in the resulting Aggregate Information. Aggregate Information helps us understand trends in our Users' needs so that we can better consider new features or otherwise tailor the Applications, the Services and the Site.


1. To personalize user experience, we may use your Information to understand demographics, customer interest, and other trends among our Users;

2. To provide the service, identify and communicate with you, response to your requests/enquiries, and improve our service, we may send you emails. You may always opt out of receiving any, or all, of these communications by following the instructions;

3. To help develop our service we may use Non- Personal Information to provide, maintain, improve and modify the Applications, Services and the Site and develop new services;

4. To further develop our business, we may use Non- Personal Information for promotion and marketing purposes.


a. Personal Information. In general, we use Session and Usage Data internally to serve our Users and enable them to take maximum advantage of the Applications, the Services and the Site. We do not disclose your Personal Information.

b. Non-Personal Information. We may disclose Non-Personal Information to our trusted partners who shall comply with this privacy policy and the relevant privacy laws. We do not combine Non-Personal Information with Personal Information (such as combining your name with your unique User Device number). 


We cannot control the actions of other Users with whom you share your information. We cannot, and do not, control the information you share with other Users using an Application, the Services or the Site (including via Forums) or how such other Users will use or share such information. We are not responsible for third party circumvention of our security measures. 


We are very concerned about safeguarding the confidentiality of your information. We employ administrative, physical and electronic measures designed to protect your Information from unauthorized access and use. Please be aware that no security measures that we take to protect your information is absolutely guaranteed to avoid unauthorized access or use of your Information which is impenetrable. 


Your Personal Information may be stored and processed in any country where we have facilities, and by using the Application, the Services or the Site you consent to the transfer of your Personal Information to countries, including the United States, which may be outside of your country of residence and may provide for different and less stringent data protection rules than in your country. If you object to your Personal Information being transferred or used as described in this Policy, please do not use the Application, the Services or the Site and immediately delete all Applications from your User Devices. 


We ask that you not send us, and you not disclose any sensitive Personal Information (e.g., information related to racial or ethnic origin, political opinions, religion or other beliefs, health, sexual orientation, criminal background or membership in past organizations, including trade union memberships) on or through the Application, the Services or the Site or otherwise to us.


If you have any questions or comments about this Policy or our privacy practices, or to report any violations of the Policy or abuse of the Application, the Services or the Site, please contact us.


We reserve the right, at our sole discretion, to change, modify or otherwise alter this Policy at any time. You can always check the latest version of our Privacy Policy at http://www.newmasterapp.com/privacy.html. You must review this Policy on a regular basis to keep yourself apprised of any changes. If you do not agree to any modifications to this Policy, your sole recourse is to immediately stop all use of all Applications, the Services and the Site. Your continued use of any Application, the Services or the Site following the posting of any modifications to this Policy will constitute your acceptance of the revised Policy. Please note that none of our employees or agents has the authority to vary any of our Policies.

แปลโดยสรุปคือ "ขอเก็บข้อมูลทุกอย่างที่เกี่ยวกับอุปกรณ์ของท่าน" ซึ่งอย่าเพิ่งตกใจไป รออ่านหัวข้อถัดไป

อย่างไรก็ตาม แอปจะไม่มีการขึ้น Dialog ขออนุญาตใดๆ มีแค่ Privacy Policy ให้อ่าน และแค่เปิดแอปมันก็เก็บข้อมูลทั้งหมดไปแล้วครับ ส่วนข้อมูลที่มันเก็บไปจะมีอะไรบ้าง ลองดูด้านล่าง

ใช้ AppsFlyer ทำ App Tracking เก็บข้อมูลเยอะแต่ไม่ค่อยน่ากังวล


สำหรับแอปนี้ก็ทำเช่นกัน โดยผู้พัฒนาเลือกใช้ AppsFlyer ซึ่งเป็น App Tracking ที่ได้รับความนิยมสูงและไว้ใจได้ครับ

และเจ้า AppsFlyer นี่แหละคือตัวที่เก็บข้อมูลส่วนตัวตามที่ Privacy Policy ร้องขอ เก็บค่อนข้างเยอะเลยหละ ตามนี้

{"device":"hero2lte","firstLaunchDate":"2016-12-05_1247+0700","installDate":"2016-12-05_1240+0700","sdk":"23","carrier":"AIS","deviceFingerPrintId":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","date1":"2016-12-05_1240+0700","af_preinstalled":"false","advertiserIdEnabled":"true","iaecounter":"0","lang_code":"en","appsflyerKey":"wiMmKJ9xudwzNqJW6HoM2g","installer_package":"com.android.vending","app_version_name":"1.1.1","lang":"English","timepassedsincelastlaunch":"277","gaidError":"-1: ClassNotFoundException","android_id":"xxxxxxxxxxxxxxx","advertiserId":"8388b3e2-85f7-4605-aaf3-87956a9767d8","isGaidWithGps":"false","deviceType":"user","af_v":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","app_version_code":"4","af_events_api":"1","platformextension":"android_native","network":"WIFI","operator":"AIS","country":"US","date2":"2016-12-05_1240+0700","brand":"samsung","af_timestamp":"1480917563147","uid":"1480916431851-5577413719685797403","isFirstCall":"false","counter":"6","model":"SM-G935F","product":"hero2ltexx"}

แต่ข้อมูลส่วนใหญ่ไม่ใช่ข้อมูลสำคัญอะไรและผู้พัฒนาก็เอาไปใช้สร้างความเสียหายไม่ได้ เป็นการเก็บ Stat ปกติ และถึงใน Privacy Policy จะบอกว่ามีการเก็บ IMEI แต่เอาเข้าจริงทาง iOS ในรุ่นหลังๆนั้นไม่เปิดให้ผู้พัฒนาดึง IMEI ได้แล้ว (เป็นมานานแล้วตั้งแต่ iOS 7) แต่จะได้เป็นรหัส Unique ID ที่สร้างใหม่ทุกครั้งที่ Factory Reset เครื่องแทน

ส่วน Android ถึงยังดึง IMEI ได้อยู่ แต่ AppsFlyer ก็เลือกดึงค่าที่เรียกว่า Android Device ID ซึ่งไม่เกี่ยวข้องกับ IMEI และเปลี่ยนไปทุกครั้งที่ Factory Reset เช่นกันมาใช้แทน ดังนั้นแอปจึงไม่มีการส่ง IMEI กลับไปทั้ง iOS และ Android ครับ อย่างในที่นี้ android_id จะมีค่าเป็น Android Device ID ที่ไม่สามารถเอาไปทำอะไรได้ครับ

โดยรวมถึงจะเก็บข้อมูลเยอะแต่สมเหตุสมผลและไม่น่ากังวล แอปกว่าครึ่งใน Store ก็เก็บข้อมูลเหล่านี้เป็นปกติครับ แอปฯนี้ก็ทำตามมาตรฐานที่แอปทั่วไปทำ จึงไม่ใช่เรื่องน่ากังวลใดๆครับ

ภาพถูกส่งไปประมวลผลบน AWS

แอปนี้ภาพไม่ได้ถูกประมวลผลในมือถือแต่อย่างใด แต่จะถูกส่งไปยัง api.everfilter.me และส่งผลลัพธ์กลับมา

ซึ่งพอแทรค IP แล้วพบว่ามันอยู่บน AWS Region us-east-1 ไม่ใช่ Server จีนแต่อย่างใด

หากคิดในแง่ฟังก์ชันก็ค่อนข้างสมเหตุสมผลเพราะถ้าประมวลผลภาพบนฝั่ง Server ก็ต้องอัปโหลดภาพขึ้นไป อันนี้ขึ้นอยู่กับว่า "คุณไว้ใจนักพัฒนาแค่ไหน" เช่นเคยครับ เพราะว่าเรารู้แค่ว่าภาพถูกส่งขึ้นไปบน Server แค่นั้น หลังจากนั้นเป็นยังไงเราไม่อาจรู้ได้เลย มันเป็น Blackbox

และต่อให้ไว้ใจ คำแนะนำของเนยคือ

อย่าอัปโหลดภาพล่อแหลมที่อาจสร้างปัญหาในอนาคตได้ขึ้นไปครับ ยกตัวอย่างเช่น ภาพเปลือยหรือภาพที่มีรหัสบัตรเครดิตอยู่ เพราะเราไม่สามารถทราบได้จริงๆว่าภาพเหล่านั้นถูกเก็บอย่างไร ถูกลบทิ้งหรือไม่และอนาคตในอีก 2-3 ปีจะเกิดอะไรกับภาพเหล่านั้นครับ

ส่วนตัวไว้ใจนะ แต่ถ้าจะใช้ก็คงเล่นเป็นภาพวิวทั่วไปเท่านั้น


Algorithm เบื้องหลังที่มันทำแบ่งเป็นสองส่วน

1) การแปลเฉดสีภาพให้ดูเป็นการ์ตูน - อันนี้ค่อนข้างพื้นฐาน ทำกันเป็นปกติมานานแล้ว

2) การวิ่งหาท้องฟ้า - การทำภาพให้ดูเป็นการ์ตูนเป็นอะไรที่ง่ายมากๆ ไม่ต้องถึงขึ้น Deep Learning ก็ทำได้ แต่ส่วนที่ยากคือเอกลักษณ์ของความเป็น "ท้องฟ้า" และ "เมฆ" ที่จะทำให้สวยได้ยากมาก และเมฆนี้เองที่สามารถช่วยให้บอกได้ว่าใครเป็นคนวาด ซึ่งตรงนี้แอป Everfilter ไม่ได้ใช้อัลกอริทึมอะไรซับซ้อนในการสร้างภาพเมฆเลย มันแค่วิ่งหาส่วนที่คิดว่าเป็นท้องฟ้า แล้วเอาภาพเมฆของอาจารย์ชินไค (ผู้วาด Kimi no Na wa) มาแปะตรงๆเลย


อันนี้เป็นภาพปีกเครื่องบิน จะเห็นว่าบางส่วนแอปมองเห็นปีกเครื่องบินเป็นท้องฟ้า ก็เลยเอามาแปะได้ไม่เนียน

(ภาพจาก MrMad)

และที่สามารถบอกได้ว่าเป็นการเอาเมฆมาแปะก็คือ มีการเอาภาพเมฆมาใช้ซ้ำ อย่างภาพด้านล่างนี้กับภาพแรกเป็นเมฆแบบเดียวกัน ลองสังเกตดู

(ภาพจาก MrMad)

และ URL ของ API ก็ชัดเจนว่ามันคือ https://api.everfilter.me/shinkai ดังนั้นมันเป็นการเอาภาพของอาจารย์ชินไคมาใช้แน่นอน

ซึ่งล่าสุดผู้พัฒนาได้ออกมาบอกแล้วว่าภาพของอาจารย์ชินไคเป็นภาพที่ถูกซื้อลิขสิทธิ์เพื่อมาใช้ในจีน (Ref. Everfilter via Beartai) ตอนนี้การเอามาใช้ได้ทั่วโลกรวมถึงไทยจึงผิดลิขสิทธิ์อยู่นั่นเอง

ฟังดูแปลกๆเล็กน้อยเพราะว่าจริงๆ App Store/Play Store มันควบคุมได้นะว่าให้ประเทศไหนเข้าถึงได้บ้าง อันนี้ตั้งใจแล้วหละ


แอบปลอดภัยครับ ถึงจะมีการเก็บ Stat แต่ก็ค่อนข้างสมเหตุสมผล อย่างไรก็ตามเนื่องจากภาพถูกอัปโหลดขึ้น Server เราจึงไม่แนะนำให้ใครเอาภาพที่อาจสร้างปัญหาได้ในอนาคต (ภาพโป๊เปลือย ภาพบัตรเครดิต ภาพที่ไม่อยากให้ออกสู่สาธารณะ) มาใช้กับแอปนี้

สุดท้ายเรื่องละเมิดลิขสิทธิ์ ... ยังละเมิดอยู่ ดังนั้นเนยลบแอปทิ้งไปละ เนยถือ =)


Jul 19, 2014, 02:42
Startup 101: Vesting กลไกป้องกันชิ่ง ด้วยแนวคิด "อย่าให้หุ้นกับคนไม่ทำงาน"
Dec 26, 2016, 05:35
Blockchain for Geek ... เบื้องหลังการทำงานฉบับ Technical ตัวอย่างจาก Bitcoin
0 Comment(s)