VINARI არის iPhone-ისა და ანდროიდის აპლიკაცია მანქანის მფლობელისთვის: ნავიგატორი, VIN-ის შემოწმება, ვადები, განბაჟება, საბუთები და შუშის QR ბარათი. აპს ანგარიში არ აქვს. არ არსებობს რეგისტრაცია, პაროლი, სახელი და პროფილი. სწორედ ამიტომ არის ეს დოკუმენტი მოკლე: იმის დიდი ნაწილი, რასაც სხვა აპები აგროვებენ, აქ არც არსებობს.
ადგილმდებარეობა, კამერა, მიკროფონი, საბუთების ფოტოები და ის, რასაც მანქანის OBD ადაპტერი კითხულობს, ჩვენს სერვერზე არასდროს მოდის.
ეს არ არის პარამეტრი და გამორთვის ღილაკი მას არ სჭირდება. ეს თავად ფიჩერების პირობაა: ისინი ისეა აშენებული, რომ ატვირთვის კოდი არ არსებობს.
პირველირა რჩება მხოლოდ ტელეფონში
- პარკირების ადგილი. კოორდინატი ტელეფონის ფაილში წერია და ჩვენს სერვერს ის არასდროს უნახავს. ქუჩის სახელის (და iPhone-ზე რუკის) საჩვენებლად ტელეფონი წერტილს რუკის სერვისს უგზავნის: iPhone-ზე Apple-ს, ანდროიდზე Google-ს.
- კამერა. VIN კოდის და სახელმწიფო ნომრის ამოცნობა ტელეფონშივე ხდება. კადრი არსად არ იგზავნება და არსად არ ინახება.
- მიკროფონი. ძრავის მოსმენა ხმას ტელეფონშივე ზომავს. ჩანაწერი არსად არ იგზავნება.
- OBD სკანერი (iPhone). ტელეფონი მანქანის ადაპტერს პირდაპირ უკავშირდება, Bluetooth-ით ან ადაპტერის საკუთარი Wi-Fi ქსელით, ამიტომ iPhone Bluetooth-ის ან ლოკალური ქსელის ნებართვას ითხოვს, და მხოლოდ მაშინ, როცა დაკავშირებას თვითონ დაიწყებ. ის, რასაც ადაპტერი კითხულობს (VIN, შეცდომის კოდები, მზადყოფნის ტესტები, აკუმულატორის ძაბვა, გარბენი და ძრავის ცოცხალი მაჩვენებლები), და სკანირების ისტორია ტელეფონში რჩება. სკანირების შედეგი ან სესიის ჩანაწერი ტელეფონიდან მხოლოდ მაშინ გადის, თუ მას თვითონ გააზიარებ ან დააკოპირებ. გამონაკლისი მხოლოდ VIN-ია, როცა მის შემოწმებას თვითონ დაიწყებ: იხ. მეორე თავის მეხუთე პუნქტი.
- საბუთების ფოტოები. ტექპასპორტზე მფლობელის სახელი, პირადი ნომერი და მისამართი წერია. ეს სურათები აპის შიდა საქაღალდეშია და ქსელს ვერასდროს ხედავს.
- მანქანები, ვადები, ხარჯები და კალენდარი. იგივე: ტელეფონში.
- მთავარი ეკრანის ვიჯეტები. ვიჯეტი მხოლოდ იმას კითხულობს, რაც უკვე ტელეფონშია: აპისა და ვიჯეტის საერთო კონტეინერიდან. ის არაფერს არსად აგზავნის.
iPhone-ზე საბუთების ფოტოები სარეზერვო ასლში კი ხვდება და ეს განზრახია: ტელეფონის დაკარგვაზე ისინი უნდა დარჩეს. ეს ასლი Apple-ისაა და არა ჩვენი. ანდროიდზე აპს სარეზერვო ასლი გამორთული აქვს, ანუ იქ ეს ფოტოები მხოლოდ ამ ერთ ტელეფონშია.
მეორერა გადის ტელეფონიდან
აქ სრული სიაა. ჩვენს სერვერზე მიდის პირველი სამი პუნქტი და მოსაწვევი კოდი, თუ მას შეიყვან (მეექვსე თავი). მეოთხე პუნქტი App Store-ს ან Google Play-ს ეკითხება. მეხუთე პუნქტი ტელეფონიდან პირდაპირ საჯარო საიტებს მიდის. მეექვსე პუნქტი საჯარო მონაცემი და ჩამოტვირთვაა, რომელშიც შენზე არაფერია, მათ შორის პარამეტრების პატარა ფაილი ჩვენივე საიტიდან, vinari.ge-დან. პარკინგის წერტილი (პირველი თავი) და ნავიგატორის Maps-ის ღილაკები (მეშვიდე თავი) თავიანთ თავებშია ახსნილი.
1. ანონიმური სტატისტიკა
აპი პირველ გაშვებაზე ქმნის შემთხვევით ნომერს (UUID) და მას ტელეფონში ინახავს. ჩვენს სერვერზე მიდის მხოლოდ ექვსი ველი: ეს ნომერი, სიტყვა „ეკრანი“ ან „ქმედება“, გასაღები დახურული სიიდან, რიგითობა ამ გაშვებაში, დრო და აპის ვერსია (მაგალითად 1.0.5). ანდროიდის აპი მეშვიდე ველად სიტყვა „android“-ს უმატებს, რომ ორი აპი ცალ-ცალკე დავთვალოთ. ჩვენი სატესტო ბილდები და სატესტო მოწყობილობები (Xcode, სიმულატორი, ემულატორი, TestFlight, Google-ის სატესტო ლაბორატორია, კაბელით დაყენებული ბილდი) ნიშანს „test“ უმატებენ, რომ ჩვენივე შემოწმება სტატისტიკაში არ ჩაითვალოს. ჩვეულებრივ ტელეფონზე App Store-იდან ან Google Play-დან დაყენებული აპი ამ ნიშანს არ აგზავნის.
არასდროს მიდის: მარკა, მოდელი, წელი, VIN, სახელმწიფო ნომერი, ბარათის კოდი, ადგილმდებარეობა, მარშრუტი, მისამართი, ძებნის ტექსტი, სიჩქარე, შეცდომის კოდი, ადაპტერის მონაცემი, საბუთი, ფოტო, კალენდრის ჩანაწერი, წერილის ტექსტი, ელფოსტა, ტელეფონის მოდელი და ტელეფონის ენა.
ეს არ არის მხოლოდ დაპირება. გასაღები დახურული ჩამონათვალია და თავისუფალ ტექსტს ტიპი არ იღებს, ხოლო სერვერზე იმავეს მეორე შემოწმება იმეორებს.
ზოგი გასაღები შენს არჩევანს იწერს, მაგალითად აპის ენას, რომელსაც პირველ ეკრანზე ირჩევ, ან საიდან გაიგე VINARI-ს შესახებ. ნავიგატორი და OBD სკანერი იმავე დახურულ სიას იყენებენ, მაგალითად „საცდელი მგზავრობა დასრულდა“ ან „ადაპტერი ვერ მოიძებნა“.
ნომერი შემთხვევითია და მხოლოდ ამ ინსტალაციას ეკუთვნის. ის არც ტელეფონის სარეკლამო იდენტიფიკატორია და არც ის ნომერი, რომელსაც iPhone აპებს აძლევს. Apple-ის კონფიდენციალურობის ეტიკეტში ის მოწყობილობის ნომრად (Device ID) წერია, რადგან ამ ტელეფონზე არ იცვლება, სანამ აპს ან შენს მონაცემებს არ წაშლი. ის ჩვეულებრივ მეხსიერებაშია და არა Keychain-ში, ანუ აპის წაშლა მას სამუდამოდ შლის: ვინც აპს მოიშორებს, ამ ცხრილიდან მართლა ქრება.
გამორთვა: პროფილი, რიგი „ანონიმური სტატისტიკა“. გამორთვა მხოლოდ ახალს არ კრძალავს: ის უკვე დაგროვილ და გაუგზავნელ რიგსაც შლის.
2. შეტყობინების ჟეტონი, მხოლოდ QR ბარათის შექმნისას
შუშის ბარათს აზრი აქვს მხოლოდ მაშინ, თუ გამვლელის დაჭერა შენს ტელეფონამდე მოვა. ამიტომ ბარათის შექმნის მომენტში ჩვენს სერვერზე იწერება შეტყობინების ჟეტონი: iPhone-ზე Apple-ისა (APNs), ანდროიდზე Google-ისა (FCM). ბარათის გარეშე ის არსად მიდის, ხოლო ჟეტონი მისამართი არ არის: მისით მხოლოდ Apple-ს ან Google-ს შეუძლია იმ ერთ ტელეფონს მიაწოდოს ერთი შეტყობინება.
ჟეტონის გვერდით ინახება: ბარათის კოდი, შექმნის დრო, გაუქმების დრო და დაჭერის ფაქტი სამი მიზეზიდან ერთით. არც IP მისამართი, არც კოორდინატი და არც თავისუფალი ტექსტი.
დაჭერის ეს ჩანაწერი (მიზეზი და დრო) 30 დღის განმავლობაში მხოლოდ ბარათის პატრონს უბრუნდება, აპის შეტყობინებების ზარში, რომ ტელეფონიდან წაშლილი შეტყობინებაც არ დაიკარგოს. აპი მას ბარათის პატრონის საიდუმლო ნომრით ითხოვს და მხოლოდ მაშინ, როცა ამ ტელეფონზე ბარათი არსებობს. გამვლელზე ამ სიაში არაფერია. ბარათის ახალი პატრონი წინა პატრონის დაჭერებს ვერ ხედავს. თუ სხვა ტელეფონზე გადასულ ბარათს უკან დაიბრუნებ, სიაში ის დაჭერებიც გამოჩნდება, რაც იქ ყოფნისას მოვიდა.
3. უკუკავშირის ფორმა
პროფილში დგას რიგი „მოგვწერე“. წერილი იგზავნება მხოლოდ მაშინ, როცა შენ თვითონ დააჭერ გაგზავნას. ყოველთვის მიდის: თემა, სათაური, ტექსტი, შენი ელფოსტა (სავალდებულოა, მასზე გიპასუხებთ) და ცალკე შემთხვევითი ნომერი (მხოლოდ იმისთვის, რომ ერთი ტელეფონი წუთში ასჯერ არ წეროს).
ფორმაში დგას ჩამრთველი „ინფორმაციის დართვა“, თავიდან გამორთული. მხოლოდ თუ მას ჩართავ, წერილს ემატება ტექნიკური სტრიქონები: აპის ვერსია, ბილდი, iOS-ის ან ანდროიდის ვერსია, ტელეფონის მოდელი, ენა და დამხმარე ნომერი. დამხმარე ნომერი RevenueCat-ის შემთხვევითი ნომერია, მისით შენს გამოწერას ვპოულობთ. ჩართვისას ეს სია გაგზავნამდე სრულად ჩანს.
4. ახალი ვერსიის შემოწმება
დღეში ერთხელ აპი App Store-ს ან Google Play-ს ეკითხება, ხომ არ გამოსულა VINARI-ს ახალი ვერსია. მოთხოვნაში მხოლოდ აპის ნომერი და ქვეყანაა, შენზე არაფერი.
5. მანქანის შემოწმება საჯარო საიტებზე
ზოგი პასუხი საჯარო საიტებზეა, ამიტომ ტელეფონი მათ პირდაპირ ეკითხება. VIN, რომელსაც აპის საკუთარი ბაზა არ იცნობს, შემოწმებისას მიდის NHTSA-ში, აშშ-ის საგზაო უსაფრთხოების სააგენტოში (vpic.nhtsa.dot.gov). მანქანის ისტორიის გახსნისას მისი VIN აუქციონის ისტორიისთვის bidfax.co-ს ეგზავნება, ხოლო მარკა, მოდელი და წელი NHTSA-ს, ქარხნული გაწვევების, საჩივრებისა და უსაფრთხოების შეფასებისთვის. Ford-ისა და Stellantis-ის მანქანებზე ქარხნული ეტიკეტი Ford-ს ან Chrysler-ს VIN-ით ეთხოვება.
ეს საიტები ხედავენ მოთხოვნას და ტელეფონის IP მისამართს, როგორც ნებისმიერი საიტი. აპი მათ არ უგზავნის სახელს, საკონტაქტო მონაცემს და GPS-ის ადგილს, ხოლო მოთხოვნას ჩვენ არ ვინახავთ.
6. საჯარო მონაცემი და ჩამოტვირთვა Apple-იდან
დოლარის კურსი საქართველოს ეროვნული ბანკიდან მოდის, საწვავის ფასები Wissol-იდან, პარამეტრების და სიახლეების პატარა ფაილები კი vinari.ge-დან. თუ ნავიგატორის ხმისთვის ქუჩების სახელების ჩამოტვირთვას აირჩევ, ფაილები Apple-ის App Store-ის სერვერებიდან მოდის, ისევე, როგორც ნებისმიერი აპის ჩამოტვირთვა. ამ მოთხოვნებში შენზე, შენს მანქანაზე და მარშრუტზე არაფერია.
მესამესად ინახება
- ტელეფონი. ყველაფერი, რაც პირველ თავშია.
- ჩვენი სერვერი (Supabase, ევროკავშირი, ფრანკფურტი). სტატისტიკის მოვლენები, მოსაწვევი კოდის ჩანაწერი, ბარათის ჩანაწერი ჟეტონით და უკუკავშირის წერილები. მოსაწვევი კოდის ჩანაწერი სტატისტიკის იმავე შემთხვევით ნომერს იყენებს. ბარათის ჩანაწერს და წერილებს საკუთარი, ცალკე ნომერი აქვს და სხვა არაფერს უკავშირდება.
- Apple (iPhone). გამოწერა, გადახდა, შეტყობინების მიწოდება, პარკინგის რუკა და ქუჩის სახელი, ასევე ნავიგატორის ქუჩების ხმის ჩამოტვირთვა.
- Google (ანდროიდი). გამოწერა და გადახდა Google Play-ში, შეტყობინების მიწოდება Firebase-ით. ბარათის დაჭერაზე გაგზავნილი შეტყობინება ერთ-ერთი მათგანის სერვერს გადის. ანდროიდზე VIN-ის ფოტოდან ამოკითხვა Google-ის ML Kit-ით ტელეფონშივე ხდება: ფოტო ტელეფონში რჩება, ML Kit კი Google-ს თავისი მუშაობის ტექნიკურ მაჩვენებლებს უგზავნის.
- RevenueCat. ამოწმებს, აქტიურია თუ არა გამოწერა. მას მიდის ყიდვის ჩანაწერი, მისი საკუთარი შემთხვევითი ნომერი და ტექნიკური ცნობები, რომლებიც მისი ბიბლიოთეკის ყოველ მოთხოვნას ახლავს: iPhone-ზე ის ნომერი, რომელსაც iPhone ერთი დეველოპერის აპებს აძლევს, ტელეფონის მოდელი, სისტემისა და აპის ვერსია, ენა და მაღაზიის ქვეყანა. სახელი და ელფოსტა არა.
- Resend და ჩვენი ფოსტა. უკუკავშირის ფორმის წერილს Resend ჩვენს ფოსტის ყუთში (Gmail) აგზავნის. პასუხს იქიდან გწერთ.
- საჯარო საიტები. NHTSA, bidfax.co, Ford, Chrysler, საქართველოს ეროვნული ბანკი და Wissol მეორე თავის მეხუთე და მეექვსე პუნქტის მოთხოვნებს პასუხობენ. მათთან ანგარიში არ გვაქვს და ჩვენთვის არაფერს ინახავენ.
Supabase, RevenueCat და Resend მონაცემს მხოლოდ იმისთვის ამუშავებენ, რომ ჩვენ თავიანთი სერვისი მოგვაწოდონ, და მას სულ მცირე ისე იცავენ, როგორც ეს პოლიტიკა. იგივე ეხება Google-ს ჩვენი ფოსტის ყუთისთვის (Gmail) და ანდროიდზე Google Play-სა და Firebase-ისთვის. თანხის დაბრუნების ცნობებს Google Play საკუთარი პოლიტიკით ამუშავებს. iPhone-ზე გადახდას, თანხის დაბრუნების ცნობებს, შეტყობინების მიწოდებას, რუკებს და App Store-იდან ჩამოტვირთვას Apple საკუთარი კონფიდენციალურობის პოლიტიკით ამუშავებს, ხოლო ნავიგატორიდან გახსნილი Google Maps და Apple Maps თავიანთი პოლიტიკით მუშაობენ. სხვას არავის არაფერს ვუზიარებთ: არც სარეკლამო ქსელს, არც მონაცემთა ბროკერს და არც ანალიტიკის კომპანიას.
მეოთხეგამოწერა და გადახდა
თანხასთან ჩვენ არ ვახლოვდებით. ბარათის ნომერს ვერც ვხედავთ და ვერც ვინახავთ: ყიდვა App Store-ში ან Google Play-ში ხდება. ჩვენ ვიგებთ, აქტიურია თუ არა გამოწერა, და თუ მოსაწვევი კოდით მოხვედი, ამ კოდით მოსული ყიდვის ჩანაწერს ვინახავთ: პროდუქტს, ფასს, ვალუტას, თარიღს და საცდელია თუ არა. ეს კოდის მფლობელის წილის დასათვლელად გვჭირდება.
გაუქმება იქ ხდება, სადაც ყიდვა: iPhone-ზე Apple ანგარიშის პარამეტრებში, ანდროიდზე Google Play-ის გამოწერებში. აპის წაშლა გამოწერას არ აუქმებს.
თუ Apple-ს ან Google Play-ს თანხის დაბრუნებას სთხოვ, VINARI-მ RevenueCat-ის გავლით მაღაზიას ამ ყიდვის შესახებ რამდენიმე ცნობა შეიძლება გადასცეს: გქონდა თუ არა ყიდვამდე უფასო კვირა ან ფიჩერების აღწერა და რომელ გადაწყვეტილებას მივიჩნევთ სწორად, iPhone-ზე კი ისიც, ჩაგერთო თუ არა გამოწერა და გამართულად მუშაობს თუ არა. ამაზე თანხმობას გამოწერისას იძლევი (პირობების მეოთხე თავი). ამ ცნობებში არ არის ბარათის მონაცემი, სახელი, ელფოსტა, ადგილმდებარეობა და ის, რამდენ ხანს იყენებ აპს. საბოლოო გადაწყვეტილებას მაღაზია იღებს.
მეხუთეQR ბარათი და ის, რასაც უცხო ადამიანი ხედავს
დაბეჭდილი ბარათი მანქანის შუშაზე დევს და მას გამვლელი სკანერებს. ის ხსნის ჩვენს გვერდს, სადაც სამი ღილაკია: გზას მიკეტავ, ნათურა დაგრჩა ანთებული, უბედურება.
იმ გვერდზე არ წერია შენი სახელი, ტელეფონის ნომერი, სახელმწიფო ნომერი და მანქანის მონაცემი. არა იმიტომ, რომ ვმალავთ, არამედ იმიტომ, რომ ჩვენს სერვერზე ისინი არც არსებობს. გამვლელს არაფერი შეაქვს და ვერაფერს ტოვებს.
მეექვსემოსაწვევი კოდი
თუ მოსაწვევ კოდს შეიყვან, ის ორ ადგილას მიდის. ჩვენი სერვერი ინახავს, რომელი კოდით მოვიდა ინსტალაცია, სტატისტიკის შემთხვევითი ნომრის გვერდით, 400 დღე. RevenueCat კოდს თავისი შემთხვევითი ნომრის გვერდით ინახავს, რომ ამ კოდით გაკეთებული ყიდვა კოდის მფლობელს ჩაეთვალოს. არც ერთ ჩანაწერში არ არის შენი სახელი, ელფოსტა, მანქანა და ადგილმდებარეობა.
მეშვიდეადგილმდებარეობა ნავიგატორში
ნავიგატორი ადგილმდებარეობას მხოლოდ მაშინ იყენებს, როცა რუკა გახსნილია ან მარშრუტს მიჰყვები. სანამ მარშრუტი ჩართულია, ის ეკრანის ჩაქრობის შემდეგაც მუშაობს, რომ მოსახვევი არ გამოგრჩეს. მარშრუტის დასრულებისას ადგილმდებარეობის გამოყენებაც წყდება.
მარშრუტის აგება, რუკა, ძებნა და ხმა ტელეფონშივე მუშაობს, ინტერნეტის გარეშე. შენი ადგილი, მარშრუტი და მისამართები ჩვენს სერვერზე არ მოდის და არც სხვა სერვისს ეგზავნება.
ერთი გამონაკლისი შენი შეხებაა: მარშრუტის ეკრანზე Google Maps-ის ან Apple Maps-ის ღილაკს თუ დააჭერ, ის სერვისი დანიშნულების წერტილით გაიხსნება. შენს ადგილს და მარშრუტს ჩვენ მას არ ვუგზავნით.
რუკა აპშივე დევს, ამიტომ ცალკე ჩამოტვირთვა არ სჭირდება. რუკის ახალი მონაცემები აპის განახლებასთან ერთად მოდის.
ნებართვის გარეშე რუკა და ძებნა მაინც მუშაობს, მაგრამ ნავიგატორი ვერ გაიგებს, სად ხარ, ამიტომ მოსახვევებს ვერ გეტყვის.
ეს პარკინგს არ ეხება: გაჩერებული მანქანის ქუჩის სახელისა და რუკის საჩვენებლად ტელეფონი წერტილს Apple-ის რუკებს უგზავნის (ანდროიდზე Google-ს).
ბოლო მისამართები მხოლოდ ტელეფონში ინახება. „ჩემი მონაცემების წაშლა“ მათაც შლის.
სანამ მარშრუტი ჩართულია, შემდეგი მოსახვევი ჩაკეტილ ეკრანზეც ჩანს. ამ ბარათს ტელეფონი თვითონ ხატავს და ის არცერთ სერვერს არ გადის.
მანქანის ეკრანზე (iPhone-ზე CarPlay, ანდროიდზე Android Auto, როცა გამოვა) ნავიგატორი იმავე რუკას და მარშრუტს აჩვენებს. ტელეფონი მანქანას მხოლოდ სურათს, მოსახვევს და ხმას აწვდის, Apple-ის ან Google-ის სისტემით თავად ტელეფონში; ამ გზით ჩვენს სერვერზე არაფერი მიდის.
ზარი რომ დაიწყება, ნავიგატორი ხმას აჩერებს. iPhone მას მხოლოდ იმას ეუბნება, რომ ზარი მიდის, და არასდროს იმას, ვინ რეკავს.
ქუჩების სახელები ხმაში არჩევითი ჩამოტვირთვაა Apple-ის App Store-ის სერვერებიდან. მოთხოვნა მხოლოდ ხმის ფაილს ითხოვს: შენი ადგილი და მარშრუტი მას არ ახლავს.
თუ ნავიგატორში Google Maps-ის ან Apple Maps-ის მოკლე ბმულს ჩასვამ ან გააზიარებ, VINARI Google-ს ან Apple-ს ეკითხება, სად მიდის ეს ბმული. მოთხოვნაში მხოლოდ ბმულია: შენი ადგილი და მარშრუტი მას არ ახლავს. გრძელი ბმული, geo: და კოორდინატები ტელეფონზევე იკითხება.
საცდელი მგზავრობა ჩაწერილ მარშრუტს მიჰყვება და შენს ადგილმდებარეობას არ იყენებს.
ნავიგატორი და OBD სკანერი აპშია 1.0.4 ვერსიიდან.
მერვერამდენ ხანს ინახება
ტელეფონში მდგარ მონაცემს ვადა არ აქვს: ის მანამ რჩება, სანამ თვითონ არ წაშლი ან აპს არ წაშლი.
სერვერზე ღამის დამლაგებელი მონაცემს ქვემოთ მოცემული ვადებით შლის, ყოველ დღე. ვადა არ აქვს მხოლოდ ოთხ ჩანაწერს: ცოცხალ QR ბარათს, გაუქმებული ბარათის კოდსა და გაუქმების დროს, მოსაწვევი კოდით გაკეთებულ ყიდვას (იხ. შენიშვნა) და იმ ტელეფონის შეტყობინების ჟეტონს, რომლის ყველა ბარათი გაუქმებულია.
- ბარათზე დაჭერის ჩანაწერი. 30 დღე. მერე იშლება.
- შეტყობინების ჟეტონი ბარათის გარეშე. 30 დღე, თუ ტელეფონი აღარ გამოჩნდა.
- მკვდარი ინსტალაციის ჩანაწერი. 90 დღე. მერე სრულად იშლება.
- გაუქმებული ბარათი. 30 დღე დაბრუნებადია. კოდი მერე სამუდამოდ რჩება.
- უკუკავშირის წერილი სერვერზე. 180 დღე.
- უკუკავშირის წერილი ჩვენს ფოსტაში. ფოსტის ყუთში მისული ასლი მანამ რჩება, სანამ არ წავშლით. მოგვწერე info@vinari.ge-ზე და მას ჩვენს პასუხთან ერთად წავშლით.
- ანონიმური სტატისტიკის მოვლენა. 90 დღე.
- მოსაწვევი კოდის ჩანაწერი. 400 დღე.
ცოცხალი QR ბარათის ჩანაწერი მანამ რჩება, სანამ ბარათი ცოცხალია: შუშაზე დაკრული ქაღალდი უვადოა და მისი ჩანაწერიც. გაუქმებული ბარათი 30 დღე დაბრუნებადია, მერე კი რჩება მხოლოდ კოდი და გაუქმების დრო, რომ იგივე კოდი სხვას აღარასდროს დაერქვას. მოსაწვევი კოდით გაკეთებული ყიდვა კოდის მფლობელის წილის საბუღალტრო ჩანაწერია: პროდუქტი, ფასი, ვალუტა, თარიღი, საცდელია თუ არა, და მაღაზიის ტრანზაქციის ნომრის ცალმხრივი ანაბეჭდი (SHA-256), რომ თანხის დაბრუნებამ თავისი ყიდვა იპოვოს. ის ვადის გარეშე ინახება და მასში არ არის ინსტალაციის ნომერი, სახელი და ელფოსტა.
მეცხრეწაშლა
პროფილში მდგარი რიგი „ჩემი მონაცემების წაშლა“ ტელეფონიდან შლის: კალენდრის ჩანაწერებს, საბუთების ფოტოებს, პარკირების ადგილს, ნავიგატორის შენახულ ადგილებს და ბოლო მისამართებს, OBD სკანირების ისტორიას და დამახსოვრებულ ადაპტერებს, გაუგზავნელ წერილებს და ანონიმური სტატისტიკის რიგს. ეს ქმედება უკან არ ბრუნდება.
გარაჟის მანქანები რჩება, VIN-ით, ნომრით და ტექინსპექტირებისა და ბალონის ვადებით. მანქანას გარაჟიდან შლი, თითოს ცალკე.
ნებართვის გაუქმება ნებისმიერ დროს შეგიძლია iPhone-ის ან ანდროიდის პარამეტრებში, VINARI-ს გვერდზე: ადგილმდებარეობა, Bluetooth, ლოკალური ქსელი, კამერა, მიკროფონი, ფოტოები და შეტყობინებები. მაშინ მხოლოდ ის ფიჩერი ჩერდება, რომელსაც ეს ნებართვა სჭირდება, სხვა არაფერი იცვლება. ანონიმური სტატისტიკა პროფილში ითიშება (მეორე თავი).
QR ბარათი ცალკე უქმდება, ბარათის ეკრანიდან. მიზეზი მარტივია: დაბეჭდილი ბარათი მანქანის შუშაზე რჩება მაშინაც, როცა აპი წაშლილია, და მისი გაუქმება შეგნებული ქმედება უნდა იყოს.
მოსაწვევი კოდის ჩანაწერი ჩვენს სერვერზე რჩება. ის მხოლოდ იმას ინახავს, რომელი კოდით მოვიდა ინსტალაცია. მასში არ არის შენი სახელი, ფოსტა, მანქანა და ადგილმდებარეობა.
გამოწერას მაღაზია მართავს: iPhone-ზე Apple, ანდროიდზე Google Play. მისი გაუქმება იქვე, ანგარიშის პარამეტრებში ხდება და ჩვენი აპის წაშლა მას არ აუქმებს.
მეათეკონტაქტი
შენი მონაცემების დამმუშავებელი VINARI-ს დეველოპერია: თენგიზ ბარდაველიძე, საბურთალოს რაიონი, 0160 თბილისი, საქართველო. ტელეფონი: +995 557 33 08 66. ელფოსტა: info@vinari.ge.
კითხვა, საჩივარი ან წაშლის თხოვნა: info@vinari.ge. ქართულად ან ინგლისურად.
თუ ეს პოლიტიკა შეიცვლება, გვერდის თავში მდგარი თარიღიც შეიცვლება. ძველი ვერსიის ჩუმად ჩანაცვლება არ ხდება.
VINARI is an iPhone and Android app for car owners: a navigator, VIN checks, deadlines, customs duty, documents and a QR card for the windscreen. The app has no accounts. There is no sign up, no password, no name and no profile. That is why this document is short: most of what other apps collect does not exist here.
Location, camera, microphone, photos of your documents and whatever your car's OBD adapter reads never reach our server.
This is not a setting and it needs no switch to turn it off. It is a condition of the features themselves: they are built so that no upload code exists.
OneWhat stays on the phone only
- Parking location. The coordinate is written to a file on the phone, and our server has never seen it. To show the street name (and, on iPhone, the map), the phone sends the point to a map service: Apple on iPhone, Google on Android.
- Camera. VIN and licence plate recognition happens on the phone. The frame is never sent anywhere and never stored.
- Microphone. Engine listening measures the sound on the phone. The recording is never sent anywhere.
- OBD scanner (iPhone). The phone talks to the adapter in your car directly, over Bluetooth or over the adapter's own Wi-Fi network, which is why iPhone asks for Bluetooth or local network access, and only when you start connecting. What the adapter reads (the VIN, trouble codes, readiness tests, battery voltage, mileage and live engine readings) and the scan history stay on the phone. A scan result or a session log leaves the phone only if you share or copy it yourself. The one exception is the VIN, when you start a check on it yourself: see section Two, item 5.
- Photos of documents. A vehicle registration document carries the owner's name, personal number and address. These images live in the app's own folder and never see the network.
- Cars, deadlines, expenses and the calendar. The same: on the phone.
- Home screen widgets. A widget only reads what is already on the phone, from a container shared between the app and the widget. It sends nothing anywhere.
On iPhone, photos of documents are included in the backup, and that is deliberate: if the phone is lost, they should survive. That backup belongs to Apple, not to us. On Android the app has backup switched off, so there those photos live on that one phone only.
TwoWhat leaves the phone
Here is the full list. Our own server receives items 1 to 3 and the invite code if you enter one (section Six). Item 4 asks the App Store or Google Play. Item 5 goes from the phone straight to public websites. Item 6 is public data and downloads that carry nothing about you, including a small settings file from our own website, vinari.ge. The parking point (section One) and the navigator's Maps buttons (section Seven) are explained in their own sections.
1. Anonymous statistics
On first launch the app generates a random number (a UUID) and keeps it on the phone. Only six fields reach our server: that number, the word "screen" or "action", a key from a closed list, the position in the current session, the time and the app version (for example 1.0.5). The Android app adds a seventh field, the word "android", so we can count the two apps separately. Our own test builds (Xcode, simulators, emulators, TestFlight) add the mark "test" so that our own checks stay out of the statistics. An app installed from the App Store or Google Play never sends it.
Never sent: make, model, year, VIN, licence plate, card code, location, route, address, search text, speed, trouble code, adapter reading, document, photo, calendar entry, message text, email address, phone model and phone language.
This is not only a promise. The key is a closed enumeration that does not accept free text, and a second check on the server repeats the same rule.
Some keys record a choice you tap, for example the app language you pick on the first screen or where you heard about VINARI. The navigator and the OBD scanner use the same closed list, for example "demo drive finished" or "adapter not found".
The number is random and belongs to this install only. It is not the phone's advertising identifier and not the identifier iPhone gives to apps. Apple's privacy label lists it as a device ID, because it stays the same on this phone until you delete the app or your data. It is kept in ordinary storage rather than the Keychain, so deleting the app deletes it for good: someone who removes the app really does disappear from that table.
Turning it off: Profile, the row "Anonymous statistics". Turning it off does more than block new events: it also deletes whatever is already queued and unsent.
2. A notification token, only when you create a QR card
A windscreen card is only worth anything if a stranger's tap reaches your phone. So at the moment the card is created, a push notification token is stored on our server: Apple's (APNs) on iPhone, Google's (FCM) on Android. Without a card it goes nowhere. The token is not an address: it only lets Apple or Google deliver one notification to that one phone.
Stored next to the token: the card code, when it was created, when it was revoked, and the fact of a tap with one of three reasons. No IP address, no coordinates and no free text.
This record of a tap (reason and time) comes back for 30 days to the card's owner only, in the app's notification bell, so that a notification cleared from the phone is not lost. The app asks for it with the card owner's secret number, and only when a card exists on this phone. There is nothing about the stranger in this list. A card's new owner cannot see the previous owner's taps. If you take back a card that moved to another phone, the list also shows the taps that came while it was there.
3. The feedback form
Profile has a row called "Write to us". A message is sent only when you press send yourself. What always goes: topic, subject, message, your email (required, we reply to it) and a separate random number (only so that one phone cannot write a hundred times a minute).
The form has an "Attach info" switch, off at the start. Only if you turn it on do technical strings go with the message: app version, build, iOS or Android version, phone model, language and the support number. The support number is a random RevenueCat number that lets us find your subscription. While the switch is on, the list is shown in full before you send.
4. The new version check
Once a day the app asks the App Store or Google Play whether a new version of VINARI is out. The request carries only the app's id and the country, nothing about you.
5. Car lookups on public websites
Some answers live on public websites, so the phone asks them directly. A VIN that the app's own database does not know goes to NHTSA, the US road safety agency (vpic.nhtsa.dot.gov), when you check it. Opening a car's history sends its VIN to bidfax.co for auction history, and its make, model and year to NHTSA for recalls, complaints and safety ratings. For Ford and Stellantis cars, the original window sticker is requested from Ford or Chrysler with the VIN.
These sites see the request and the phone's IP address, as any website does. The app sends them no name, no contact details and no GPS location, and we do not keep the request.
6. Public data and downloads from Apple
The dollar rate comes from the National Bank of Georgia, fuel prices from Wissol and small settings and news files from vinari.ge. If you choose to download street names for the navigator voice, the files come from Apple's App Store servers, like any app download. None of these requests carries anything about you, your car or your route.
ThreeWhere it is stored
- Your phone. Everything in section one.
- Our server (Supabase, EU, Frankfurt). Statistics events, the invite code record, the card record with its token, and feedback messages. The invite code record uses the same random number as statistics. The card record and feedback messages have their own separate numbers and are not joined to anything else.
- Apple (iPhone). Subscription, payment, notification delivery, the map and street name for your parking spot, and the navigator's street-name voice downloads.
- Google (Android). Subscription and payment in Google Play, notification delivery through Firebase. A notification sent by a tap on your card passes through one of their servers. On Android, reading a VIN from a photo uses Google's ML Kit on the phone: the photo stays on the phone, and ML Kit sends Google technical metrics about its own performance and use.
- RevenueCat. Checks whether a subscription is active. It receives the purchase record, its own random number and the technical details that every request from its library carries: on iPhone, the identifier iPhone gives to apps from one developer, the phone model, the system and app version, the language and the store country. Not a name and not an email address.
- Resend and our mailbox. Resend delivers a feedback form message to our mailbox (Gmail). We reply from there.
- Public websites. NHTSA, bidfax.co, Ford, Chrysler, the National Bank of Georgia and Wissol answer the requests in section Two, items 5 and 6. We have no account with them and they keep nothing for us.
Supabase, RevenueCat and Resend process data only to provide their service to us, and protect it at least as well as this policy does. The same applies to Google for our mailbox (Gmail) and, on Android, for Google Play and Firebase. Google Play handles refund information under its own policy. On iPhone, Apple handles payment, refund information, notification delivery, maps and App Store downloads under its own privacy policy, and Google Maps or Apple Maps opened from the navigator work under their own policies. We share nothing with anyone else: no advertising networks, no data brokers and no analytics companies.
FourSubscription and payment
We do not go near the money. We can neither see nor store a card number: the purchase happens in the App Store or in Google Play. We learn whether a subscription is active, and if you arrived with an invite code, we keep a record of purchases made with that code: the product, price, currency, date and whether it was a trial. We need it to count the code owner's share.
Cancellation happens where the purchase happened: in your Apple account settings on iPhone, in Google Play subscriptions on Android. Deleting the app does not cancel a subscription.
If you ask Apple or Google Play for a refund, VINARI may send the store, through RevenueCat, a few facts about that purchase: whether you had a free week or a description of the features before buying and which outcome we consider right, and on iPhone also whether the subscription was delivered and works properly. You give this consent when you subscribe (see the fourth section of the Terms of Use). These facts contain no card details, name, email address, location or how long you use the app. The store makes the final decision.
FiveThe QR card and what a stranger sees
The printed card sits on the windscreen and a passer by scans it. It opens a page of ours with three buttons: you are blocking me, your lights are on, there has been an accident.
That page does not show your name, phone number, licence plate or any detail of the car. Not because we hide them, but because they do not exist on our server in the first place. The stranger enters nothing and can leave nothing behind.
SixInvite codes
If you enter an invite code, it goes to two places. Our server keeps which code an install arrived with, next to the random statistics number, for 400 days. RevenueCat keeps the code next to its own random number, so that a purchase made with the code can be counted for the code's owner. Neither record holds your name, email address, car or location.
SevenLocation in the navigator
The navigator uses your location only while the map is open or you are following a route. While a route is active it keeps working with the screen off, so you do not miss a turn. When the route ends, location tracking stops.
Routing, the map, search and the voice all run on the phone, without internet. Your location, route and addresses never reach our server and are not sent to any other service.
One exception is your own tap: the Google Maps and Apple Maps buttons on the route preview open that service with the destination point. We do not send it your location or route.
The map is inside the app, so it needs no separate download. New map data arrives with app updates.
Without the permission, the map and search still work, but the navigator cannot tell where you are, so it cannot tell you the turns.
This does not cover parking: to show the street name and map for your parked car, the phone sends the point to Apple Maps (to Google on Android).
Recent addresses are kept only on the phone. “Delete my data” removes them too.
While a route is on, the next turn also shows on the Lock Screen. The phone draws that card itself, and it does not pass through any server.
On a car screen (CarPlay on iPhone, and Android Auto on Android once it is released) the navigator shows the same map and route. The phone gives the car only the picture, the turn and the voice, through Apple's or Google's system on the phone itself; nothing goes to our server this way.
When a phone call starts, the navigator pauses its voice. iPhone only tells it that a call is on, never who is calling.
Street names in the voice are an optional download from Apple's App Store servers. The request asks for the voice file only: nothing about your location or route goes with it.
If you paste or share a short Google Maps or Apple Maps link into the navigator, VINARI asks Google or Apple where that link leads. The request carries only the link: nothing about your location or route goes with it. Long links, geo: links and coordinates are read on the phone itself.
The demo drive follows a recorded route and does not use your location.
The navigator and the OBD scanner are in the app from version 1.0.4.
EightHow long it is kept
Data that stays on the phone has no expiry: it remains until you delete it yourself or delete the app.
On the server, a nightly cleaner deletes data on the schedule below, every day. Only four records have no expiry: a live QR card, the code and revocation time of a revoked card, a purchase made with an invite code (see the note) and the notification token of a phone whose cards are all revoked.
- A record of a press on the card. 30 days. Then it is deleted.
- A notification token with no card. 30 days, if the phone never came back.
- A dead install record. 90 days. Then it is deleted in full.
- A revoked card. Restorable for 30 days. After that the code stays forever.
- A feedback message on the server. 180 days.
- A feedback message in our mailbox. The copy delivered to our mailbox stays until we delete it. Write to info@vinari.ge and we delete it together with our reply.
- An anonymous statistics event. 90 days.
- An invite code record. 400 days.
A live QR card's record stays for as long as the card is live: paper taped to a windscreen has no expiry date, and neither does its record. A revoked card can be restored for 30 days; after that only the code and the time of revocation remain, so that the same code is never given to anyone else. A purchase made with an invite code is the accounting record of the code owner's share: product, price, currency, date, whether it was a trial, and a one-way fingerprint (SHA-256) of the store's transaction number, so that a refund can find its sale. It is kept without expiry and holds no install number, name or email address.
NineDeletion
The row "Delete my data" in Profile removes from the phone: calendar entries, photos of documents, parking location, the navigator's saved places and recent addresses, OBD scan history and saved adapters, unsent messages and the queue of anonymous statistics. This action cannot be undone.
The cars in your garage stay, with their VIN, plate and inspection and gas cylinder dates. You remove a car from the garage, one at a time.
You can withdraw any permission at any time in iPhone or Android settings, on the VINARI page: location, Bluetooth, local network, camera, microphone, photos and notifications. Only the feature that needs it stops; nothing else changes. Anonymous statistics are switched off in Profile (section Two).
A QR card is revoked separately, from the card screen. The reason is simple: a printed card stays on the windscreen even after the app is gone, so revoking it should be a deliberate act.
The invite code record stays on our server. It holds only which code an install arrived with. It does not contain your name, email address, car or location.
Subscriptions are managed by the store: Apple on iPhone, Google Play on Android. They are cancelled in that account's settings, and deleting our app does not cancel them.
TenContact
The controller of your data is the developer of VINARI: Tengizi Bardavelidze, Saburtalo District, 0160 Tbilisi, Georgia. Phone: +995 557 33 08 66. E-mail: info@vinari.ge.
Questions, complaints or a deletion request: info@vinari.ge. In Georgian or in English.
If this policy changes, the date at the top of the page changes with it. An old version is never replaced quietly.
VINARI, приложение для iPhone и Android для владельца машины: навигатор, проверка VIN, сроки, растаможка, документы и QR карточка на стекло. У приложения нет аккаунтов. Нет ни регистрации, ни пароля, ни имени, ни профиля. Именно поэтому документ такой короткий: большей части того, что собирают другие приложения, здесь просто нет.
Местоположение, камера, микрофон, фотографии документов и то, что читает OBD-адаптер машины, никогда не попадают на наш сервер.
Это не настройка, и выключатель ей не нужен. Это условие самих функций: они собраны так, что кода для загрузки не существует.
ПервоеЧто остаётся только в телефоне
- Место парковки. Координата пишется в файл на телефоне, и наш сервер её никогда не видел. Чтобы показать название улицы (и карту на iPhone), телефон отправляет точку картографическому сервису: Apple на iPhone, Google на Android.
- Камера. VIN и госномер распознаются в самом телефоне. Кадр никуда не отправляется и нигде не хранится.
- Микрофон. Прослушивание двигателя измеряет звук в телефоне. Запись никуда не отправляется.
- OBD-сканер (iPhone). Телефон соединяется с адаптером в машине напрямую, по Bluetooth или по собственной Wi-Fi сети адаптера, поэтому iPhone просит доступ к Bluetooth или к локальной сети, и только когда ты сам начинаешь подключение. То, что читает адаптер (VIN, коды ошибок, тесты готовности, напряжение аккумулятора, пробег и живые показатели двигателя), и история проверок остаются в телефоне. Результат проверки или запись сессии уходит из телефона, только если ты сам поделишься им или скопируешь его. Исключение одно: VIN, когда ты сам запускаешь его проверку, см. главу вторую, пункт 5.
- Фотографии документов. В техпаспорте написаны имя владельца, личный номер и адрес. Эти снимки лежат во внутренней папке приложения и сети не видят никогда.
- Машины, сроки, расходы и календарь. То же самое: в телефоне.
- Виджеты на главном экране. Виджет читает только то, что уже есть в телефоне, из общего контейнера приложения и виджета. Он ничего никуда не отправляет.
На iPhone фотографии документов попадают в резервную копию, и это сделано намеренно: если телефон потеряется, они должны остаться. Эта копия принадлежит Apple, а не нам. На Android у приложения резервное копирование выключено, поэтому там эти снимки есть только на одном телефоне.
ВтороеЧто уходит из телефона
Вот полный список. На наш сервер уходят первые три пункта и код приглашения, если ты его введёшь (глава шестая). Пункт 4 обращается к App Store или Google Play. Пункт 5 уходит из телефона напрямую на открытые сайты. Пункт 6 включает открытые данные и загрузки, в которых нет ничего о тебе, в том числе небольшой файл настроек с нашего собственного сайта vinari.ge. Точка парковки (глава первая) и кнопки Maps в навигаторе (глава седьмая) описаны в своих главах.
1. Анонимная статистика
При первом запуске приложение создаёт случайный номер (UUID) и хранит его в телефоне. На наш сервер уходят только шесть полей: этот номер, слово «экран» или «действие», ключ из закрытого списка, порядковый номер в этом запуске, время и версия приложения (например, 1.0.5). Приложение для Android добавляет седьмое поле, слово «android», чтобы мы считали два приложения отдельно. Наши тестовые сборки (Xcode, симулятор, эмулятор, TestFlight) добавляют отметку «test», чтобы наши собственные проверки не попадали в статистику. Приложение, установленное из App Store или Google Play, её никогда не отправляет.
Никогда не уходит: марка, модель, год, VIN, госномер, код карточки, местоположение, маршрут, адрес, текст поиска, скорость, код ошибки, данные адаптера, документ, фотография, запись календаря, текст письма, почта, модель телефона и язык телефона.
Это не только обещание. Ключ берётся из закрытого перечня и свободного текста не принимает, а на сервере ту же самую проверку повторяет вторая.
Некоторые ключи записывают твой выбор, например язык приложения, который ты выбираешь на первом экране, или откуда ты узнал о VINARI. Навигатор и OBD-сканер пользуются тем же закрытым списком, например «пробная поездка завершена» или «адаптер не найден».
Номер случайный и принадлежит только этой установке. Это не рекламный идентификатор телефона и не тот идентификатор, который iPhone выдаёт приложениям. В этикетке конфиденциальности Apple он указан как идентификатор устройства (Device ID), потому что на этом телефоне он не меняется, пока ты не удалишь приложение или свои данные. Лежит он в обычном хранилище, а не в Keychain, то есть удаление приложения стирает его навсегда: кто убрал приложение, тот из этой таблицы действительно исчезает.
Как выключить: профиль, строка «Анонимная статистика». Выключение запрещает не только новое: оно стирает и уже накопленную, ещё не отправленную очередь.
2. Токен уведомлений, только при создании QR карточки
В карточке на стекле есть смысл только тогда, когда касание прохожего дойдёт до твоего телефона. Поэтому в момент создания карточки на нашем сервере записывается токен уведомлений: на iPhone от Apple (APNs), на Android от Google (FCM). Без карточки он никуда не уходит, и адресом токен не является: по нему только Apple или Google может доставить одно уведомление на один этот телефон.
Рядом с токеном хранятся: код карточки, время создания, время отмены и факт касания с одной из трёх причин. Ни IP адреса, ни координат, ни свободного текста.
Эта запись касания (причина и время) 30 дней возвращается только владельцу карточки, в колокольчик уведомлений приложения, чтобы уведомление, удалённое с телефона, не потерялось. Приложение запрашивает её по секретному номеру владельца карточки и только тогда, когда на этом телефоне есть карточка. О прохожем в этом списке ничего нет. Новый владелец карточки не видит касаний прежнего. Если ты вернёшь карточку, перешедшую на другой телефон, в списке появятся и касания, пришедшие, пока она была там.
3. Форма обратной связи
В профиле стоит строка «Напиши нам». Письмо уходит только тогда, когда ты сам нажмёшь отправку. Всегда уходят: тема, заголовок, текст, твоя почта (обязательна, на неё мы ответим) и отдельный случайный номер (только для того, чтобы один телефон не писал сто раз в минуту).
В форме есть переключатель «Приложить информацию», изначально выключенный. Только если ты его включишь, к письму добавляются технические строки: версия приложения, сборка, версия iOS или Android, модель телефона, язык и номер поддержки. Номер поддержки это случайный номер RevenueCat, по нему мы находим твою подписку. Пока переключатель включён, этот список полностью виден до отправки.
4. Проверка новой версии
Раз в день приложение спрашивает App Store или Google Play, не вышла ли новая версия VINARI. В запросе только номер приложения и страна, ничего о тебе.
5. Проверки машины на открытых сайтах
Некоторые ответы есть только на открытых сайтах, поэтому телефон спрашивает их напрямую. VIN, которого не знает собственная база приложения, при проверке уходит в NHTSA, американское агентство безопасности дорожного движения (vpic.nhtsa.dot.gov). При открытии истории машины её VIN уходит на bidfax.co за историей аукционов, а марка, модель и год в NHTSA за отзывными кампаниями, жалобами и рейтингами безопасности. Для машин Ford и Stellantis заводская наклейка запрашивается у Ford или Chrysler по VIN.
Эти сайты видят запрос и IP-адрес телефона, как любой сайт. Приложение не отправляет им ни имени, ни контактов, ни GPS-местоположения, а запрос мы не храним.
6. Открытые данные и загрузки от Apple
Курс доллара приходит от Национального банка Грузии, цены на топливо от Wissol, небольшие файлы настроек и новостей с vinari.ge. Если ты решишь скачать названия улиц для голоса навигатора, файлы придут с серверов App Store, как любая загрузка приложения. В этих запросах нет ничего о тебе, твоей машине или маршруте.
ТретьеГде хранится
- Телефон. Всё, что в первой главе.
- Наш сервер (Supabase, ЕС, Франкфурт). События статистики, запись кода приглашения, запись карточки с токеном и письма обратной связи. Запись кода приглашения использует тот же случайный номер, что и статистика. У записи карточки и у писем свои отдельные номера, и ни с чем другим они не связаны.
- Apple (iPhone). Подписка, оплата, доставка уведомлений, карта и название улицы для парковки, а также загрузка голосов с названиями улиц для навигатора.
- Google (Android). Подписка и оплата в Google Play, доставка уведомлений через Firebase. Уведомление, отправленное касанием карточки, проходит через серверы одного из них. На Android VIN с фото распознаётся Google ML Kit прямо в телефоне: фото остаётся в телефоне, а ML Kit отправляет Google технические показатели своей работы.
- RevenueCat. Проверяет, активна ли подписка. Ему уходит запись о покупке, его собственный случайный номер и технические сведения, которые несёт каждый запрос его библиотеки: на iPhone идентификатор, который iPhone выдаёт приложениям одного разработчика, модель телефона, версия системы и приложения, язык и страна магазина. Имя и почта нет.
- Resend и наша почта. Письмо из формы обратной связи Resend доставляет в наш почтовый ящик (Gmail). Отвечаем мы оттуда.
- Открытые сайты. NHTSA, bidfax.co, Ford, Chrysler, Национальный банк Грузии и Wissol отвечают на запросы из главы второй, пункты 5 и 6. Аккаунта у нас у них нет, и для нас они ничего не хранят.
Supabase, RevenueCat и Resend обрабатывают данные только для того, чтобы оказывать нам свою услугу, и защищают их не хуже, чем это делает эта политика. То же относится к Google для нашего почтового ящика (Gmail), а на Android для Google Play и Firebase. Сведения для возврата средств Google Play обрабатывает по своей политике. На iPhone оплату, сведения для возврата средств, доставку уведомлений, карты и загрузки из App Store Apple обрабатывает по своей политике конфиденциальности, а Google Maps и Apple Maps, открытые из навигатора, работают по своим политикам. Больше мы ни с кем ничего не делим: ни с рекламными сетями, ни с брокерами данных, ни с аналитическими компаниями.
ЧетвёртоеПодписка и оплата
К деньгам мы не подходим. Номер карты мы не видим и не храним: покупка происходит в App Store или в Google Play. Мы узнаём, активна ли подписка, а если ты пришёл по коду приглашения, храним запись о покупках с этим кодом: продукт, цену, валюту, дату и была ли это пробная версия. Это нужно, чтобы посчитать долю владельца кода.
Отмена происходит там же, где покупка: в настройках аккаунта Apple на iPhone, в подписках Google Play на Android. Удаление приложения подписку не отменяет.
Если ты попросишь у Apple или Google Play возврат средств, VINARI может через RevenueCat передать магазину несколько сведений об этой покупке: была ли у тебя до покупки бесплатная неделя или описание функций и какое решение мы считаем правильным, а на iPhone ещё и то, была ли подписка предоставлена и работает ли она как надо. Согласие на это ты даёшь при оформлении подписки (четвёртый раздел Условий использования). В этих сведениях нет данных карты, имени, почты, местоположения и того, сколько ты пользуешься приложением. Окончательное решение принимает магазин.
ПятоеQR карточка и то, что видит незнакомый человек
Напечатанная карточка лежит на стекле машины, и сканирует её прохожий. Она открывает нашу страницу, где стоят три кнопки: перекрываешь дорогу, остались включёнными фары, авария.
На той странице нет ни твоего имени, ни номера телефона, ни госномера, ни данных машины. Не потому, что мы их прячем, а потому, что на нашем сервере их вообще нет. Прохожий ничего не вводит и ничего оставить не может.
ШестоеКод приглашения
Если ты вводишь код приглашения, он уходит в два места. Наш сервер хранит, с каким кодом пришла установка, рядом со случайным номером статистики, 400 дней. RevenueCat хранит код рядом со своим случайным номером, чтобы покупка с этим кодом засчиталась владельцу кода. Ни в одной из записей нет ни твоего имени, ни почты, ни машины, ни местоположения.
СедьмоеМестоположение в навигаторе
Навигатор использует местоположение только когда открыта карта или ты едешь по маршруту. Пока маршрут включён, он работает и при погасшем экране, чтобы не пропустить поворот. Когда маршрут завершён, определение местоположения прекращается.
Маршрут, карта, поиск и голос работают прямо в телефоне, без интернета. Твоё местоположение, маршрут и адреса не попадают на наш сервер и не отправляются никакому другому сервису.
Исключение составляет твоё касание: кнопки Google Maps и Apple Maps на экране маршрута открывают этот сервис с точкой назначения. Твоё местоположение и маршрут мы туда не передаём.
Карта встроена в приложение, поэтому отдельно скачивать её не нужно. Новые данные карты приходят с обновлениями приложения.
Без разрешения карта и поиск всё равно работают, но навигатор не узнает, где ты, поэтому не сможет подсказывать повороты.
Это не касается парковки: чтобы показать улицу и карту места стоянки, телефон отправляет точку в Apple Maps (на Android в Google).
Последние адреса хранятся только в телефоне. «Удалить мои данные» стирает и их.
Пока маршрут включён, следующий поворот виден и на экране блокировки. Эту карточку рисует сам телефон, и она не проходит ни через какой сервер.
На экране машины (CarPlay на iPhone, Android Auto на Android, когда он выйдет) навигатор показывает ту же карту и маршрут. Телефон передаёт машине только изображение, поворот и голос через систему Apple или Google в самом телефоне; на наш сервер при этом ничего не уходит.
Когда начинается звонок, навигатор ставит голос на паузу. iPhone сообщает ему только то, что идёт звонок, и никогда не сообщает, кто звонит.
Названия улиц в голосе скачиваются по желанию с серверов App Store. Запрос просит только голосовой файл: ни местоположение, ни маршрут вместе с ним не уходят.
Если вставишь или отправишь в навигатор короткую ссылку Google Maps или Apple Maps, VINARI спросит у Google или Apple, куда она ведёт. В запросе только ссылка: ни местоположение, ни маршрут вместе с ним не уходят. Длинные ссылки, geo: и координаты читаются прямо в телефоне.
Пробная поездка идёт по записанному маршруту и твоё местоположение не использует.
Навигатор и OBD-сканер есть в приложении с версии 1.0.4.
ВосьмоеСколько хранится
У данных на телефоне нет срока: они остаются, пока ты сам их не удалишь или не удалишь приложение.
На сервере ночной уборщик каждый день удаляет данные по срокам ниже. Срока нет только у четырёх записей: у действующей QR-карточки, у кода и времени отзыва отозванной карточки, у покупки по коду приглашения (см. примечание) и у токена уведомлений телефона, у которого все карточки отозваны.
- Запись нажатия на карточке. 30 дней. Затем удаляется.
- Токен уведомления без карточки. 30 дней, если телефон больше не появлялся.
- Запись мёртвой установки. 90 дней. Затем удаляется полностью.
- Отозванная карточка. 30 дней можно восстановить. Затем код остаётся навсегда.
- Письмо обратной связи на сервере. 180 дней.
- Письмо обратной связи в нашей почте. Копия, пришедшая в наш почтовый ящик, хранится, пока мы её не удалим. Напиши на info@vinari.ge, и мы удалим её вместе с нашим ответом.
- Событие анонимной статистики. 90 дней.
- Запись кода приглашения. 400 дней.
Запись действующей QR-карточки хранится, пока карточка жива: у бумаги на лобовом стекле нет срока, нет его и у записи. Отозванную карточку можно восстановить 30 дней; после этого остаются только код и время отзыва, чтобы тот же код никогда не достался другому человеку. Покупка по коду приглашения остаётся бухгалтерской записью доли владельца кода: продукт, цена, валюта, дата, пробная ли это подписка и односторонний отпечаток (SHA-256) номера транзакции магазина, чтобы возврат нашёл свою покупку. Она хранится без срока, и в ней нет ни номера установки, ни имени, ни почты.
ДевятоеУдаление
Строка «Удалить мои данные» в профиле стирает с телефона: записи календаря, фотографии документов, место парковки, сохранённые места и последние адреса навигатора, историю OBD-проверок и сохранённые адаптеры, неотправленные письма и очередь анонимной статистики. Это действие назад не возвращается.
Машины в гараже остаются, с VIN, номером и сроками техосмотра и баллона. Машину удаляешь из гаража, каждую отдельно.
Любое разрешение можно отозвать в любой момент в настройках iPhone или Android, на странице VINARI: местоположение, Bluetooth, локальная сеть, камера, микрофон, фотографии и уведомления. Тогда останавливается только функция, которой оно нужно, больше ничего не меняется. Анонимная статистика выключается в профиле (глава вторая).
QR карточка отменяется отдельно, с экрана карточки. Причина простая: напечатанная карточка остаётся на стекле и тогда, когда приложение уже удалено, поэтому её отмена должна быть осознанным действием.
Запись кода приглашения остаётся на нашем сервере. Она хранит только то, с каким кодом пришла установка. В ней нет ни твоего имени, ни почты, ни машины, ни местоположения.
Подпиской управляет магазин: Apple на iPhone, Google Play на Android. Отменяется она там же, в настройках аккаунта, и удаление нашего приложения её не отменяет.
ДесятоеКонтакт
Оператор твоих данных: разработчик VINARI, Тенгизи Бардавелидзе, Сабуртальский район, 0160 Тбилиси, Грузия. Телефон: +995 557 33 08 66. Эл. почта: info@vinari.ge.
Вопрос, жалоба или просьба об удалении: info@vinari.ge. По-грузински или по-английски.
Если политика изменится, изменится и дата в начале страницы. Старая версия молча не подменяется.