Kebijakan Privasi
Terakhir diperbarui: 29 Oktober 2026 (WIB)
Berlaku untuk: aplikasi Android Golfstudio.io (io.golfstudio.ronde), aplikasi web di https://app.golfstudio.io, dan situs golfstudio.io
Kontak: golfstudioadmin@gmail.com · Cluster Miami Kota Wisata Cibubur
1. Ringkasan
- Untuk memakai aplikasi (di HP atau di browser), Anda masuk dengan email dan kode sekali pakai 6 digit. Jika tombol Masuk dengan Google tersedia di aplikasi, Anda juga bisa memilih masuk dengan akun Google. Anda tidak perlu membuat kata sandi.
- Di server kami tersimpan akun dan profil Anda (email, nama lengkap, "Nama di kartu", konfirmasi usia 18+, serta kota, klub, dan Handicap Index awal bila Anda mengisinya) dan ronde golf Anda, termasuk foto scorecard untuk ronde yang dibuat dari foto. Kami juga mencatat jumlah baca foto per hari untuk akun Anda, untuk menjalankan batas pemakaian harian.
- Ronde yang Anda simpan disimpan di akun Anda di server kami (Supabase): lapangan dan tee, tanggal, skor dan par per hole, total skor, hasil hitungan handicap tidak resmi, "Nama di kartu", sumber skor (baca foto atau isi manual), angka hasil baca AI dan hole yang Anda koreksi, serta foto scorecard bila ronde dibuat dari foto; rincian lengkapnya ada di bagian 2 dan 3. Tujuannya agar ronde tidak hilang saat Anda ganti HP atau browser, bisa dibuka di HP atau browser lain setelah masuk, dan bisa dipakai untuk riwayat serta perhitungan Handicap Index. Aplikasi juga menyimpan salinan di HP atau browser agar tetap bisa dipakai saat offline, lalu menyinkronkannya saat online. Draf skor yang belum disimpan tidak pernah dikirim ke server.
- Ronde yang dicatat di versi aplikasi sebelumnya (yang menyimpan ronde hanya di HP atau browser) diunggah ke akun Anda setelah Anda memperbarui aplikasi dan masuk.
- Foto scorecard disimpan bersama ronde di akun Anda. Saat Anda memakai fitur baca otomatis, salinan foto (tanpa data lokasi) dikirim ke server kami untuk membaca skor. Saat Anda menyimpan rondenya, foto itu ikut disimpan bersama ronde, agar Anda bisa mencocokkan skor yang tersimpan dengan scorecard aslinya bila perlu. Penyimpanan foto bisa dimatikan di Profil → Simpan foto scorecard (aktif secara bawaan). Foto diperkecil dan data lokasinya (GPS/EXIF) dihapus sebelum dikirim, sehingga tidak ada data lokasi dari foto yang kami simpan. Foto hanya bisa dibuka oleh akun Anda, tidak dibagikan, tidak pernah dibuat publik, dan ikut terhapus saat Anda menghapus akun. Ronde yang diisi manual tidak punya foto. Foto yang Anda pilih dari galeri tetap ada di galeri. Di aplikasi web, kamera dan galeri dibuka lewat pemilih berkas browser; aplikasi web tidak meminta izin kamera. Google, penyedia pembaca skor kami, menyimpan salinan sementara selama 55 hari hanya untuk mendeteksi penyalahgunaan dan tidak memakainya untuk melatih model (lihat bagian 6).
- Foto profil (opsional). Anda bisa memasang foto profil yang Anda unggah sendiri, atau memilih avatar ilustrasi. Foto diperkecil dan data lokasinya dihapus sebelum diunggah. Secara bawaan, foto hanya terlihat oleh Teman (saling mengikuti) dan pemain yang pernah satu match dengan Anda. Anda bisa mengubahnya menjadi Semua pengguna atau Hanya saya. Foto bisa dihapus kapan saja dan ikut terhapus saat Anda menghapus akun. Kami tetap tidak memakai foto profil Google Anda.
- Lokasi hanya dipakai di HP Anda. Tombol Terdekat di pemilih lapangan bisa memakai lokasi perkiraan HP Anda untuk mengurutkan klub terdekat. Izinnya baru diminta saat Anda mengetuk Terdekat, jaraknya dihitung di perangkat Anda, dan lokasi Anda tidak dikirim ke server kami dan tidak disimpan (lihat bagian 5).
- Match (main bareng). Jika Anda membuat atau bergabung ke match (di aplikasi Android atau aplikasi web), data match — anggota, skor live, papan skor, foto bukti scorecard dari host, dan chat teks antar anggota — disimpan di server kami selama match berjalan. Nama yang tampil di match diambil dari "Nama di kartu" atau nama lengkap Anda. Chat teks dihapus otomatis saat match selesai, dibatalkan, atau kedaluwarsa. Foto bukti dan laporan chat punya aturan retensi sendiri (lihat bagian 3).
- Cari teman main (Open Flight). Pengguna 18 tahun ke atas bisa memasang flight atau minta ikut flight orang lain. Data flight, permintaan, chat flight, notifikasi, laporan, dan penanda "tidak datang" disimpan di server kami; chat flight dihapus otomatis 12 jam setelah tee time atau saat flight dibatalkan, dan flight dihapus 90 hari setelah tee time. Kami tidak menerima pembayaran dan tidak menyimpan lokasi Anda (lihat bagian 3a).
- Teman dan Peringkat (opsional). Jika Anda menyalakan fitur Teman, Anda memilih @username, bisa saling mengikuti dengan pemain lain, dan ronde Anda bisa terlihat oleh orang lain sesuai setelan visibilitas ronde. Nama lengkap, email, kota, dan klub asal Anda tidak pernah ditampilkan (lihat bagian 3b).
- Catatan pemakaian dan laporan error, di server kami sendiri. Agar kami tahu aplikasi berjalan baik, aplikasi mengirim catatan pemakaian harian (tanggal, ID akun, platform Android atau web, versi aplikasi, berapa kali aplikasi dibuka, dan berapa kali sinkron gagal) serta laporan error teknis tanpa ID akun. Data ini disimpan di server kami sendiri, tidak dikirim ke layanan analytics atau laporan crash pihak ketiga, tidak dipakai untuk iklan, dan dilihat tim kami hanya sebagai angka gabungan. Catatan pemakaian harian disimpan paling lama 400 hari dan ikut terhapus saat Anda menghapus akun (lihat bagian 2 dan 8).
- Kami tidak meminta nomor HP atau tanggal lahir. Tidak ada iklan atau pelacakan lokasi. Untuk memahami cara aplikasi dipakai, aplikasi Android dan aplikasi web memakai Google Analytics for Firebase (lihat bagian 6a). Kami tidak memakai layanan laporan crash pihak ketiga.
- Kami tidak menjual data Anda dan tidak memakai foto atau skor Anda untuk melatih atau meningkatkan model AI/OCR.
- Anda bisa mengubah profil lewat Edit profil dan menghapus akun kapan saja lewat Profil → Hapus akun (di versi aplikasi yang belum punya tab Profil: Pengaturan → Hapus akun) di aplikasi Android atau aplikasi web, atau lewat https://golfstudio.io/hapus-akun. Menghapus akun juga menghapus semua ronde dan foto scorecard Anda dari server kami, serta match yang Anda host, pesan chat Anda, foto bukti match yang Anda unggah, dan catatan pemakaian harian Anda.
- Handicap Index di aplikasi bersifat tidak resmi (Metode WHS) untuk pelacakan pribadi, bukan handicap resmi klub, PGI, R&A, USGA, atau asosiasi lain.
2. Data akun, profil, dan ronde (disimpan di server kami)
- Email. Dipakai sebagai identitas login. Jika Anda memilih Masuk dengan Google, email diambil dari akun Google Anda. Jika Anda masuk dengan email, kami mengirim kode sekali pakai 6 digit ke alamat tersebut.
- Data dari Google Sign-In. Jika Anda memilih masuk dengan Google, Google mengirimkan kepada kami data dasar akun Google Anda (nama, alamat email, dan tanda pengenal akun) sesuai izin yang Anda setujui di layar Google. Kami memakainya hanya untuk membuat dan mengelola akun Anda. Kami tidak memakai dan tidak menyimpan foto profil Google Anda: tautan foto profil yang dikirim Google dihapus otomatis saat akun dibuat. Kami juga tidak mendapat akses ke data Google lain seperti kontak, Gmail, atau Drive.
- ID akun. Kode acak yang dibuat sistem login kami untuk mengenali akun Anda.
- Profil: nama lengkap (wajib); "Nama di kartu" (wajib), yaitu nama panggilan yang tampil di kartu ronde; konfirmasi bahwa Anda berusia 18 tahun ke atas (wajib; kami menyimpan waktu Anda mencentang konfirmasi ini, bukan tanggal lahir); kota (opsional, diketik sendiri; tidak diisi dari lokasi HP atau browser Anda); klub asal (opsional); dan Handicap Index awal (opsional), yaitu angka yang Anda isi sendiri sebagai titik awal perhitungan Handicap Index tidak resmi. "Nama di kartu" (atau nama lengkap, jika "Nama di kartu" kosong) juga dipakai sebagai nama tampilan Anda di match, dan terlihat oleh anggota match yang sama.
- Foto profil (opsional). Anda bisa mengunggah foto profil dari kamera atau galeri, memilih salah satu avatar ilustrasi kami (tanpa unggahan), atau tidak memasang foto sama sekali (yang tampil adalah inisial). Sebelum diunggah, foto dipotong persegi, diperkecil ke 512×512 piksel (JPEG), dan data lokasinya (GPS/EXIF) dihapus. Foto disimpan di penyimpanan berkas privat (Supabase Storage) di server kami di Tokyo. Setiap kali Anda mengganti foto, foto lama dihapus.
- Siapa yang melihat foto profil. Sesuai setelan Foto profil terlihat oleh: *Teman & rekan Match* (bawaan; Teman = saling mengikuti, rekan Match = pemain yang pernah satu match dengan Anda), *Semua pengguna*, atau *Hanya saya*. Orang yang Anda blokir tidak pernah melihat foto Anda. Yang tidak berhak melihat hanya melihat inisial.
- Halaman profil publik. Kalau setelan Anda *Semua pengguna*, foto juga bisa tampil di halaman profil publik
app.golfstudio.io/u/{username} dan gambar pratinjau tautannya, misalnya saat tautan dibagikan di WhatsApp. Halaman ini tidak diindeks mesin pencari. Kalau setelan lain, yang tampil hanya inisial. Halaman dan gambar ini dikirim lewat Cloudflare dan disimpan sementara di cache Cloudflare dan browser; setelah Anda mengganti foto atau setelan, gambar baru dibuat, tetapi salinan lama bisa tetap ada di cache sampai kedaluwarsa. Aplikasi lain (misalnya WhatsApp) bisa menyimpan gambar pratinjau sendiri, jadi tautan yang sudah terkirim bisa tetap menampilkan gambar lama.
- Laporan dan moderasi foto profil. Pengguna lain bisa melaporkan foto profil. Jika 3 pengguna berbeda melaporkan foto yang sama, foto otomatis disembunyikan dari orang lain sampai ditinjau. Tim kami (Agung dan Mena) bisa melihat foto yang dilaporkan, lalu memulihkan atau menghapusnya, dan dapat memblokir unggahan foto baru selama 30 hari.
- Batas. Foto bisa diganti paling banyak 10 kali per hari.
- Tidak dibaca AI. Foto profil tidak dikirim ke Google atau layanan AI lain.
- Retensi foto profil. Foto disimpan sampai Anda menghapus atau menggantinya, atau menghapus akun.
- Ronde golf. Setiap ronde yang Anda simpan berisi: lapangan (nama lapangan dan rujukan ke database lapangan kami); tee yang dipakai, beserta course rating dan slope tee itu saat ronde dimainkan; tanggal ronde dan jumlah hole yang dimainkan; skor dan par untuk setiap hole; total skor (gross) dan selisihnya dari par; Course Handicap, Score Differential, serta Handicap Index sebelum dan sesudah ronde itu, semuanya tidak resmi; "Nama di kartu" yang tampil di kartu ronde; sumber skor (dibaca dari foto atau diisi manual); angka skor hasil baca AI dan hole yang Anda koreksi (untuk ronde yang dibuat dari foto); dan waktu ronde dibuat dan terakhir diperbarui. Ronde tidak berisi foto lapangan. Untuk setiap hole, Anda juga bisa mencatat jumlah putt, stik yang Anda pakai, dan catatan (paling banyak 200 karakter per hole). Data per hole ini hanya bisa dilihat oleh Anda dan ikut terhapus saat ronde atau akun dihapus. Anda juga bisa menyimpan daftar stik di tas Anda agar pilihan stik lebih cepat; daftar ini hanya bisa dilihat oleh Anda dan ikut terhapus saat akun dihapus. Draf skor yang belum Anda simpan tetap di HP atau browser dan tidak pernah dikirim ke server. Ronde terhubung dengan ID akun Anda. Ronde pribadi hanya dapat dibaca dan diubah oleh akun Anda sendiri. Jika ronde itu dibuat dari match yang sudah dikonfirmasi, skornya ikut tampil ke anggota match itu selama match berjalan; setelah match ditutup, ronde tetap milik akun Anda seperti ronde biasa. Kami memakainya untuk menyimpan dan mencadangkan ronde Anda, menyinkronkannya antar HP dan browser tempat Anda masuk, menampilkan riwayat, dan menghitung Handicap Index tidak resmi. Ronde disimpan selama akun Anda aktif dan dihapus dari server kami saat Anda menghapus akun.
- Foto scorecard. Untuk ronde yang dibuat dari foto, satu atau lebih foto scorecard yang Anda pakai disimpan bersama ronde itu. Tujuannya agar Anda bisa membuka foto asli dan mencocokkannya dengan skor yang tersimpan, misalnya untuk mengecek hasil baca AI. Sebelum dikirim, foto diperkecil (sisi terpanjang paling besar 1.600 piksel, format JPEG) dan metadata lokasi (GPS/EXIF) dihapus, jadi kami tidak menyimpan data lokasi dari foto. Foto disimpan di penyimpanan berkas privat (Supabase Storage) di server kami di Tokyo, dalam folder milik akun Anda. Bersama setiap foto, aplikasi juga membuat gambar pratinjau kecil (thumbnail) yang disimpan di folder yang sama dan ikut terhapus bersama fotonya. Hanya akun Anda yang bisa membukanya, lewat tautan sementara yang dibuat khusus untuk Anda; tidak ada tautan publik, dan foto tidak ditampilkan kepada pengguna lain. Foto disimpan selama akun Anda aktif dan dihapus dari server kami saat Anda menghapus akun. Ronde yang diisi manual tidak punya foto. Anda bisa mematikan penyimpanan foto di Profil → Simpan foto scorecard (aktif secara bawaan). Jika dimatikan, foto hanya dibaca oleh AI untuk mengisi skor (lihat bagian 4 dan 7), lalu dibuang, dan tidak disimpan di server kami.
- Catatan jumlah baca foto harian. Setiap kali Anda memakai fitur baca otomatis, server kami menambah hitungan harian untuk akun Anda. Catatan ini hanya berisi tanggal, ID akun, dan jumlah baca foto pada hari itu, tanpa foto, skor, nama, atau email. Kami memakainya untuk menjalankan batas baca foto harian per akun dan mencegah penyalahgunaan. Jika pembacaan gagal, hitungan untuk foto itu dikembalikan. Catatan ini disimpan paling lama 30 hari dan ikut terhapus saat Anda menghapus akun.
- Catatan pemakaian harian. Saat Anda membuka aplikasi (Android atau web) dalam keadaan masuk, aplikasi mengirim catatan ke server kami, satu baris per hari untuk setiap platform: tanggal (WIB), ID akun, platform (Android atau web), versi dan nomor build aplikasi, berapa kali aplikasi dibuka hari itu, dan berapa kali sinkron ronde atau foto gagal. Catatan ini tidak berisi ronde, skor, foto, nama, email, lokasi, alamat IP, model HP, atau ID perangkat dan ID iklan. Kami memakainya untuk menghitung jumlah pengguna aktif, melihat platform dan versi aplikasi yang dipakai, dan menemukan masalah sinkronisasi. Catatan ini disimpan paling lama 400 hari, lalu dihapus otomatis, dan ikut terhapus saat Anda menghapus akun.
- Laporan error aplikasi. Jika aplikasi mengalami error atau berhenti mendadak (crash), aplikasi dapat mengirim laporan error teknis ke server kami: waktu, platform, versi dan nomor build aplikasi, jenis error, lokasi error di kode aplikasi, dan pesan error teknis yang sudah disaring. Laporan ini tidak berisi ID akun, email, nama, skor, foto, atau isi chat, dan tidak dikirim ke layanan pihak ketiga. Kami memakainya untuk menemukan dan memperbaiki bug. Laporan disimpan paling lama 90 hari, lalu dihapus otomatis. Karena tidak terhubung ke akun, laporan ini tidak bisa dicari per pengguna.
- Log teknis fungsi server. Fungsi server kami (baca foto dan hapus akun) mencatat data teknis untuk setiap permintaan: waktu, nama fungsi, status, kode hasil, dan lama proses. Untuk baca foto, dicatat juga model AI dan jumlah token yang dipakai. Log ini tidak berisi foto, hasil skor, nama, email, atau ID akun, dan disimpan paling lama 90 hari.
- Log keamanan dan login. Sistem login dan server kami mencatat data teknis seperti alamat IP, jenis perangkat atau browser, waktu, dan aktivitas login (misalnya masuk, keluar, atau permintaan kode) untuk keamanan dan pencegahan penyalahgunaan. Alamat IP tidak kami pakai untuk menentukan lokasi Anda. Log ini tidak berisi foto.
Kami tidak mengumpulkan nomor HP, tanggal lahir, lokasi dari HP (lokasi untuk tombol Terdekat hanya dipakai di HP, lihat bagian 5), kontak, ID iklan, atau ID perangkat (kecuali token push, lihat bagian 3a, dan ID instalasi dari pemindai kode QR, lihat bagian 7). Kami tidak memakai layanan laporan crash pihak ketiga. Data diagnostik teknis dari pemindai kode QR di aplikasi Android dijelaskan di bagian 7, dan analytics penggunaan aplikasi (Google Analytics for Firebase) di bagian 6a; catatan pemakaian harian dan laporan error di atas disimpan di server kami sendiri.
3. Match (main bareng)
Saat fitur Match aktif di aplikasi Android atau aplikasi web, Anda bisa membuat match atau bergabung dengan kode. Data berikut disimpan di server kami (Supabase, wilayah Tokyo) dan hanya bisa dibuka oleh anggota match itu, kecuali disebut lain.
- Data match dan anggota. Identitas match (kode gabung, lapangan, status, waktu dibuat/ditutup), daftar anggota (hingga 8), peran host, tee yang dipilih tiap pemain, dan skor per hole yang diisi selama match. Nama tampilan tiap anggota (dari "Nama di kartu" atau nama lengkap) terlihat oleh anggota match yang sama. Untuk skor Net, aplikasi menampilkan Course Handicap Anda kepada anggota match; Handicap Index mentah tidak ditampilkan ke anggota lain lewat papan skor Net. Angka itu tetap tidak resmi. Skor match dipakai untuk papan skor live dan, setelah Anda dan host mengonfirmasi, untuk membuat ronde di akun Anda (sumber: match). Host boleh membatalkan match saat lobby, live, atau review; ronde yang sudah dikonfirmasi tetap di akun masing-masing, dan chat dihapus seperti di bawah.
- Chat match. Anggota match bisa mengirim pesan teks (paling banyak 300 karakter) yang terlihat oleh anggota match yang sama. Tidak ada foto, berkas, atau pratinjau tautan di chat. Pesan disimpan di server kami selama match berstatus lobby, live, atau review. Saat match selesai (final), dibatalkan, atau kedaluwarsa, semua pesan chat match itu dihapus permanen dari server kami. Host bisa menghapus pesan siapa pun di match itu; pesan yang dihapus host diganti teks "Pesan dihapus host". Bisukan anggota hanya berlaku di HP atau browser Anda; daftar bisu tidak dikirim ke server. Kami tidak mengirim pemberitahuan push untuk chat.
- Laporan pesan. Anda bisa melaporkan pesan orang lain (alasan: spam, kasar/pelecehan, konten tidak pantas, atau lainnya). Laporan menyimpan salinan isi pesan saat dilaporkan, beserta nama tampilan penulis, waktu pesan, alasan, dan ID pelapor. Salinan itu tetap disimpan sekalipun chat match sudah dihapus, paling lama 30 hari, lalu dihapus otomatis. Tim kami (Agung dan Mena) meninjaunya lewat dasbor Supabase untuk keamanan dan pencegahan penyalahgunaan. Kami tidak menampilkan laporan kepada pengguna lain.
- Foto bukti scorecard (host). Sebelum konfirmasi skor di tahap review, host wajib mengunggah foto bukti scorecard match (kamera atau galeri). Foto diperkecil dan metadata lokasi (GPS/EXIF) dihapus sebelum dikirim, sama seperti foto scorecard ronde. Foto disimpan di penyimpanan berkas privat (Supabase Storage) di server kami di Tokyo, tanpa tautan publik, dan hanya bisa dibuka oleh anggota match itu. Jika host menolak skor seorang pemain, foto bukti tetap disimpan; host boleh menggantinya dengan foto baru. Foto bukti disimpan sampai 30 hari setelah match berakhir, lalu dihapus otomatis. Foto bukti juga dihapus lebih awal saat akun host dihapus.
- Foto profil di Match. Di lobi, papan skor, dan hasil match, anggota match bisa melihat foto profil Anda (kecuali setelan Anda *Hanya saya*, atau foto sedang disembunyikan karena laporan).
- Yang tidak kami lakukan di Match. Tidak ada push untuk chat; bisukan tidak dikirim ke server; chat tidak berisi foto atau berkas; match dan chat tidak ditampilkan kepada pengguna di luar anggota match itu; kami tidak memakai isi chat, laporan, atau foto bukti untuk melatih model AI/OCR.
3a. Cari teman main (Open Flight)
Fitur ini hanya untuk pengguna yang sudah mengonfirmasi berusia 18 tahun ke atas dan tidak dinonaktifkan dari fitur sosial. Pengguna lain tidak melihat menu, daftar, atau link flight, dan server menolak permintaan mereka. Data disimpan di server kami (Supabase, wilayah Tokyo).
- Flight yang Anda pasang. Lapangan, tee dan jenis kelamin tee, tee time, jumlah slot (2–4), status booking ("Sudah booking" atau "Belum booking"), filter HI ("Semua" atau "HI mirip"), catatan biaya (teks bebas, paling banyak 120 karakter), siapa yang bisa melihat ("Publik" atau "Teman saja"), cara bergabung ("Persetujuan host" atau "Langsung ikut"), dan status flight.
- Siapa yang melihat flight. Flight Publik terlihat oleh semua pengguna 18+ yang tidak saling memblokir dengan host. Flight Teman saja hanya terlihat oleh Teman host, yaitu pengguna yang saling mengikuti dengan host. Host dan anggota selalu bisa melihat flight mereka. Kartu flight menampilkan nama tampilan host dan, jika Anda menyalakan "Tampilkan HI" di profil, Handicap Index tidak resmi host. Daftar pemain yang sudah ikut terlihat oleh orang yang bisa melihat flight itu (nama tampilan, peran, dan HI jika Tampilkan HI menyala).
- Foto profil di flight. Saat ini Cari teman main hanya menampilkan inisial nama, bukan foto profil. Jika nanti foto profil ditampilkan, foto mengikuti setelan Foto profil terlihat oleh: jika Anda memilih Semua pengguna, siapa pun yang bisa melihat flight Anda (termasuk pengguna 18+ yang belum Anda kenal di flight Publik) bisa melihat foto Anda; jika tidak, yang tampil tetap inisial. Kami akan memperbarui kebijakan ini sebelum foto ditampilkan.
- Permintaan ikut dan daftar tunggu. Saat Anda minta ikut, kami menyimpan status Anda di flight itu (diminta, ikut, daftar tunggu, ditolak, batal, tidak datang), waktu masuk antrean, dan pesan untuk host (opsional, paling banyak 140 karakter). Pesan itu hanya terlihat oleh host dan Anda. Host juga melihat HI Anda (jika Tampilkan HI menyala), apakah Anda mengikuti host, dan jumlah teman yang sama (akun yang diikuti oleh kalian berdua), tanpa nama teman itu. Daftar tunggu berurutan; bila ada slot kosong, orang pertama di daftar tunggu otomatis masuk.
- Kuota. Server menghitung flight aktif Anda (Gratis: 1, Pro: 3) dari data flight dan paket Anda. Tidak ada data baru yang dikumpulkan untuk ini.
- Jarak ke lapangan. Jarak dihitung di HP atau browser Anda, dari lokasi perkiraan perangkat (izin lokasi perkiraan, sama seperti tombol Terdekat) ke koordinat lapangan. Lokasi Anda tidak dikirim ke server dan tidak disimpan. Filter "HI mirip" dihitung di server dari HI tidak resmi Anda yang sudah tersimpan bersama ronde.
- Chat flight. Pemain yang sudah ikut (termasuk host) bisa mengirim pesan teks (paling banyak 300 karakter) yang terlihat oleh pemain yang sudah ikut di flight itu. Tidak ada foto, berkas, atau pratinjau tautan. Pesan dari orang yang Anda blokir (atau yang memblokir Anda) tidak ditampilkan kepada Anda. Penulis bisa menghapus pesannya sendiri; host bisa mengganti pesan siapa pun dengan teks "Pesan dihapus host". Semua pesan chat flight dihapus permanen dari server kami saat flight dibatalkan atau 12 jam setelah tee time (flight diarsipkan), mana yang lebih dulu. Orang yang keluar dari flight tidak bisa membaca chat itu lagi. Bisukan hanya berlaku di HP atau browser Anda. Kami tidak mengirim pemberitahuan push untuk chat.
- Laporan. Anda bisa melaporkan flight, host, atau pesan chat (alasan, misalnya: flight palsu, meminta pembayaran, pelecehan, spam, konten tidak pantas, lainnya; catatan opsional paling banyak 200 karakter). Laporan menyimpan ID pelapor, flight, orang yang dilaporkan, alasan, catatan, waktu, dan untuk laporan pesan, salinan isi pesan beserta waktunya, sehingga tetap ada walau chat sudah dihapus. Laporan disimpan paling lama 12 bulan sejak dibuat, lalu dihapus otomatis. Tim kami (Agung dan Mena) meninjaunya lewat dasbor Supabase. Orang yang dilaporkan tidak diberi tahu siapa pelapornya. Untuk mencegah penyalahgunaan, jumlah laporan per hari dibatasi; catatan batas itu (tanpa isi laporan) disimpan sebentar.
- Tidak datang. Setelah tee time, host bisa menandai pemain yang sudah ikut sebagai "tidak datang". Penanda ini hanya terlihat oleh host flight itu, tidak ditampilkan kepada pemain lain atau di profil, dan pemain tersebut tidak dikirimi notifikasi (di detail flight itu ia hanya melihat bahwa ia tidak bisa ikut lagi). Saat ini penanda hanya dicatat: tidak ada sanksi otomatis, kecuali pemain itu tidak bisa minta ikut lagi ke flight yang sama. Kami dapat memakai penanda ini, bersama laporan, untuk meninjau penyalahgunaan. Penanda ikut terhapus bersama flight (90 hari setelah tee time) atau saat salah satu akun dihapus.
- Notifikasi flight. Kami mencatat kejadian flight untuk kotak "Notifikasi flight" Anda: permintaan baru, ada yang ikut atau keluar, diterima, ditolak, masuk dari daftar tunggu, flight penuh, flight dibatalkan, dikeluarkan dari flight, host berganti, match dimulai, dan pengingat sekitar 24 jam dan 2 jam sebelum tee time. Isinya jenis kejadian, flight, siapa yang melakukannya, waktu, dan sudah dibaca atau belum. Notifikasi dihapus 30 hari setelah dibuat (atau lebih cepat bersama flight-nya). Kami tidak mengirim email atau SMS untuk flight.
- Notifikasi push (opsional, aplikasi Android). Jika Anda mengizinkan notifikasi, sebagian kejadian di atas juga dikirim sebagai notifikasi push ke HP Anda. Teks push hanya menyebut jenis kejadiannya (misalnya "Permintaanmu diterima"), tanpa nama pemain, klub, atau jam; detailnya tetap hanya di dalam aplikasi. Untuk itu HP Anda membuat token push (kode acak dari Firebase Cloud Messaging milik Google yang menandai aplikasi di HP itu) dan kami menyimpannya bersama akun Anda serta jenis perangkat (Android). Token hanya dipakai untuk mengirim notifikasi flight ke akun Anda, tidak untuk iklan atau pelacakan, dan tidak ditampilkan kepada pengguna lain. Push tidak dikirim untuk kejadian dari orang yang Anda blokir (atau yang memblokir Anda). Anda bisa mematikan push kapan saja di Profil → Notifikasi flight atau di setelan notifikasi HP; notifikasi di dalam aplikasi tetap berjalan.
- Hari main dan Match. Di hari main, host bisa memilih Mulai match. Server membuat Match berisi semua pemain yang sudah ikut, tanpa kode. Data Match dan chat Match mengikuti bagian 3. Pemain yang masih ada di match lain tidak dimasukkan.
- Setelah ronde. Hingga 7 hari setelah tee time, Beranda bisa menampilkan kartu "Main lagi dengan …?" untuk sesama pemain flight. Tambah teman mengirim permintaan ikuti biasa. Tutup hanya disimpan di HP atau browser Anda.
- Blokir. Jika Anda atau orang lain memblokir, kalian tidak saling melihat flight, tidak bisa minta ikut ke flight satu sama lain, dan pesan chat orang itu disembunyikan dari Anda.
- Berbagi flight. Tombol bagikan membuat teks berisi link
https://app.golfstudio.io/flight/… yang berisi ID flight (tanpa nama atau data pribadi). Teks itu Anda kirim sendiri lewat aplikasi pilihan Anda. Orang yang membuka link tetap harus masuk, berusia 18+, dan boleh melihat flight itu; jika tidak, ia hanya melihat "Flight tidak tersedia".
- Pembayaran. Golfstudio.io tidak menerima, memproses, atau menyimpan pembayaran apa pun untuk flight. Biaya (green fee, caddy, dan lain-lain) diatur langsung antarpemain di luar aplikasi. Catatan biaya hanya teks yang ditulis host.
- AI. Data Cari teman main (flight, permintaan, chat flight, laporan, penanda tidak datang) tidak dikirim ke Google Gemini. Gemini tetap hanya dipakai untuk membaca foto scorecard seperti di bagian 4.
- Yang tidak kami lakukan di Cari teman main. Tidak menyimpan lokasi Anda; tidak ada push untuk chat, dan push tidak berisi nama, klub, atau jam; tidak menampilkan flight kepada pengguna di bawah 18 tahun atau orang yang diblokir; tidak menjual atau membagikan data flight ke pihak ketiga; tidak memakai chat, laporan, atau penanda tidak datang untuk iklan atau untuk melatih model AI.
3b. Teman dan Peringkat
Fitur ini hanya untuk pengguna yang sudah mengonfirmasi berusia 18 tahun ke atas, memilih @username, dan menyelesaikan langkah awal Teman. Semua perubahan dilakukan lewat fungsi server kami di Supabase (Tokyo).
- @username dan nama. Anda memilih @username (3–20 huruf kecil, angka, titik, atau garis bawah). Setelah langkah awal selesai, @username tidak bisa diganti. Pengguna lain melihat "Nama di kartu" Anda (atau @username bila Nama di kartu kosong). Nama lengkap, email, kota, klub asal, dan Handicap Index awal Anda tidak pernah ditampilkan kepada pengguna lain.
- Mengikuti. Anda bisa mengikuti pemain lain. Orang itu harus menyetujui permintaan Anda, kecuali ia menyalakan Terima pengikut otomatis. Anda bisa berhenti mengikuti, menolak permintaan, atau menghapus pengikut kapan saja. Teman adalah dua orang yang saling mengikuti. Daftar siapa mengikuti siapa hanya bisa dibaca oleh kedua orang itu; orang lain hanya melihat jumlahnya (teman, mengikuti, pengikut). Tidak ada notifikasi push; permintaan baru hanya tampil sebagai tanda di aplikasi.
- Visibilitas ronde. Setiap ronde punya setelan Semua, Teman, atau Hanya saya. Bawaannya Teman; Anda bisa mengubah bawaan untuk ronde baru (dan, jika Anda pilih, untuk ronde lama) dan mengubah tiap ronde. Ronde Teman terlihat oleh Teman Anda. Ronde Hanya saya tidak pernah terlihat oleh orang lain dan tidak dihitung di Peringkat.
- Yang terlihat di profil Anda. Pengguna yang boleh melihat ronde Anda melihat ringkasan 12 bulan (jumlah ronde, skor gross terbaik 18 hole, jumlah birdie) dan hingga 10 ronde terakhir (tanggal, lapangan, jumlah hole, skor, selisih dari par, dan apakah ronde Match), hanya dari ronde yang boleh mereka lihat. Pengguna lain hanya melihat nama, @username, jumlah teman/mengikuti/pengikut, dan Handicap Index tidak resmi Anda bila Tampilkan HI menyala (bawaan: mati untuk akun baru).
- Mencari dan "pernah main bareng". Orang lain bisa menemukan Anda dengan mengetik minimal 3 huruf awal @username, kecuali Anda mematikan Bisa ditemukan. Pemain yang pernah satu match dengan Anda (match yang sudah selesai) bisa melihat Anda di daftar "Pernah main bareng" selama belum saling mengikuti.
- Halaman profil publik. Siapa pun yang punya tautan
app.golfstudio.io/u/{username}, termasuk orang yang belum masuk, bisa melihat nama, @username, Handicap Index tidak resmi bila Tampilkan HI menyala (bawaan: mati untuk akun baru), dan foto profil hanya bila setelan foto Anda *Semua pengguna* dan Tampilkan foto profil di kartu menyala . Halaman ini tetap bisa dibuka lewat tautan atau QR walau Bisa ditemukan dimatikan.
- Peringkat. Peringkat dihitung server setiap bulan (WIB) dari ronde yang tersimpan, dengan dua ukuran: skor gross terendah ronde 18 hole dan jumlah birdie. Anda perlu minimal 3 ronde di bulan itu untuk masuk peringkat. Peringkat Teman berisi Anda dan Teman Anda (saling mengikuti) yang menyalakan Tampil di peringkat Teman (bawaan: mati untuk akun baru). Peringkat Lapangan hanya berisi pemain yang menyalakan Tampil di peringkat Lapangan (bawaan: mati) dan bermain di lapangan itu pada bulan itu; peringkat ini hanya bisa dibuka untuk lapangan yang pernah Anda mainkan dan baru tampil jika ada minimal 5 pemain. Hanya ronde yang boleh dilihat oleh orang yang membuka peringkat yang dihitung; ronde Hanya saya tidak pernah dihitung.
- Blokir. Jika Anda memblokir seseorang, saling mengikuti di antara kalian dihapus, dan kalian tidak saling melihat di pencarian, profil, Peringkat, daftar pengikut, maupun Cari teman main. Anda bisa melihat dan membuka blokir di daftar blokir.
- Laporan. Anda bisa melaporkan profil atau ronde (nama tidak pantas, akun palsu, skor mencurigakan, pelecehan, lainnya; catatan opsional paling banyak 200 karakter), paling banyak 10 laporan per hari. Jika 3 pengguna berbeda melaporkan ronde yang sama sebagai skor mencurigakan, ronde itu tidak lagi dihitung di Peringkat sampai ditinjau. Tim kami (Agung dan Mena) meninjau laporan dan dapat menonaktifkan fitur Teman untuk akun yang menyalahgunakannya. Orang yang dilaporkan tidak bisa melihat laporan atau pelapornya.
- Batas pemakaian. Untuk mencegah penyalahgunaan, jumlah permintaan ikuti (50 per hari), pencarian (60 per jam), dan laporan (10 per hari) dibatasi; catatan batas itu (tanpa isi) disimpan paling lama 2 hari.
4. Foto scorecard (dibaca, lalu disimpan bersama ronde)
Jika Anda memotret atau memilih foto untuk dibaca otomatis, aplikasi memperkecil foto dan menghapus metadata lokasi (GPS/EXIF) di perangkat Anda, lalu mengirim salinan foto ke fungsi server kami. Fungsi server meneruskannya ke layanan OCR (lihat bagian 7) dan mengembalikan hasil skor ke aplikasi. Skor dan fotonya baru tersimpan di akun Anda setelah Anda mengecek dan menyimpan ronde (lihat bagian 2). Jika Simpan foto scorecard di Profil dimatikan, hanya skornya yang tersimpan. Agar permintaan yang terkirim ulang (misalnya saat koneksi putus) tidak perlu dibaca ulang, hasil pembacaan (skor per hole dan nama pemain yang terbaca di kartu, tanpa foto) disimpan sementara hanya di memori server, tidak di database atau disk, paling lama 10 menit, lalu terhapus otomatis. Log teknis fungsi baca foto hanya mencatat status, kode hasil, lama proses, model AI, dan jumlah token, tanpa foto, hasil skor, atau ID akun (lihat bagian 2). Pembaca skor juga membaca nama semua pemain di kartu, supaya aplikasi bisa memilih baris skor Anda. Nama-nama itu hanya ada di draf di HP atau browser Anda dan di memori server tadi, dan tidak disimpan di database. Foto bisa memuat tulisan tangan atau nama pemain lain yang tertulis di kartu; kirim hanya kartu yang berhak Anda foto. Anda juga bisa mengisi skor secara manual tanpa mengirim foto apa pun.
Aplikasi web: tombol kamera dan galeri membuka pemilih berkas browser. Di ponsel, browser dapat menawarkan kamera; di komputer, yang terbuka adalah pemilih berkas. Safari dapat mengubah foto HEIC menjadi JPEG. Aplikasi web tidak menulis salinan ke galeri; berkas asli tetap di tempat Anda menyimpannya. Foto yang disimpan bersama ronde ada di akun Anda dan bisa dibuka dari HP maupun browser setelah masuk.
5. Data yang tersimpan di perangkat Anda
- Salinan ronde dan riwayat Handicap Index tidak resmi, agar aplikasi tetap bisa dipakai saat offline. Ronde yang dicatat saat offline baru tersimpan di server setelah HP atau browser itu online dan tersinkron.
- Draf skor yang belum disimpan, termasuk nama pemain yang terbaca dari kartu. Draf hanya ada di HP atau browser itu dan tidak pernah dikirim ke server.
- Salinan foto scorecard milik ronde, termasuk foto ronde yang belum tersinkron sampai foto itu terkirim ke akun Anda. Foto asli di galeri tidak diubah dan tetap di galeri Anda.
- Kartu ronde (gambar). Kartu dibuat di HP atau browser Anda (di aplikasi Android sebagai file sementara). Saat Anda membagikannya lewat menu berbagi (misalnya WhatsApp) atau memilih "Unduh PNG", gambar langsung dikirim ke aplikasi atau penyimpanan yang Anda pilih; di aplikasi web, "Unduh PNG" menyimpan gambar ke folder unduhan browser. Kami tidak menerima salinan gambar kartu. Jika Anda membagikan kartu ronde, foto profil (atau inisial) dan nama Anda ikut tercetak pada gambar kartu tersebut.
- Daftar anggota yang Anda bisukan di chat match (hanya di HP atau browser itu).
- Daftar orang yang Anda bisukan di chat flight, waktu terakhir Anda membaca chat flight, dan kartu "Setelah ronde" yang Anda tutup (hanya di HP atau browser itu).
- Link flight yang Anda buka sebelum masuk, disimpan paling lama 2 jam agar flight bisa dibuka setelah masuk.
- Salinan foto profil yang sedang ditampilkan atau belum terunggah. Salinan ini dihapus saat Anda keluar (logout) atau menghapus akun.
- Salinan sementara pesan chat dan foto bukti yang sedang ditampilkan, selama Anda membuka match.
- Token push (Android, bila diizinkan): dibuat dan disimpan oleh layanan Google Play/Firebase di HP Anda; dihapus saat Anda keluar (logout) atau meng-uninstall aplikasi.
Di HP maupun di browser, salinan ini ditandai dengan akun yang sedang masuk. Ronde yang dicatat di perangkat sebelum ada akun yang masuk dikaitkan ke akun pertama yang masuk di perangkat tersebut, lalu diunggah ke akun itu.
Jika Anda memilih Keluar (logout), salinan ronde, foto, dan riwayat Handicap Index di HP atau browser itu dihapus; ronde dan foto yang sudah tersinkron tetap tersimpan di akun dan muncul lagi saat Anda masuk. Jika masih ada ronde atau foto yang belum tersinkron, aplikasi memberi tahu Anda lebih dulu dan menawarkan untuk mencoba sinkron; jika Anda tetap keluar, ronde dan foto yang belum tersinkron itu ikut terhapus. Salinan chat dan status bisu di perangkat itu ikut terhapus saat Anda keluar. Menghapus data aplikasi, meng-uninstall aplikasi, atau mengganti HP juga menghapus salinan di perangkat itu: ronde yang sudah tersinkron tetap ada di akun Anda, sedangkan ronde yang belum tersinkron ikut hilang. Foto yang ada di galeri HP tidak ikut terhapus.
Di browser (aplikasi web). Salinan ronde dan sesi masuk Anda disimpan di penyimpanan browser (localStorage) pada browser dan perangkat itu. Menghapus data situs, cookie, atau penyimpanan browser untuk app.golfstudio.io menghapus salinan di browser itu. Safari juga dapat menghapus data situs setelah sekitar 7 hari tanpa kunjungan, kecuali aplikasi ditambahkan ke Layar Utama. Ronde yang sudah tersinkron muncul lagi setelah Anda masuk; ronde yang belum tersinkron ikut hilang. Di iPhone dan iPad, aplikasi yang dibuka dari Layar Utama memakai penyimpanan terpisah dari tab Safari; setelah Anda masuk di sana, ronde dari akun Anda ikut tampil. Keluar di aplikasi web mengakhiri sesi masuk dan menghapus salinan ronde di browser itu, dengan peringatan yang sama untuk ronde yang belum tersinkron.
Lokasi untuk tombol Terdekat. Di pemilih lapangan, tombol Terdekat mengurutkan klub dari yang paling dekat dengan Anda. Untuk itu aplikasi Android memakai lokasi perkiraan HP Anda (bukan lokasi akurat); di aplikasi web, aplikasi meminta lokasi dengan akurasi rendah, tetapi ketepatannya ditentukan oleh browser Anda. Izin lokasi bersifat opsional dan baru diminta saat Anda mengetuk Terdekat. Jarak ke tiap klub dihitung di perangkat Anda (HP atau browser); lokasi Anda tidak dikirim ke server kami, tidak disimpan, dan tidak dipakai untuk hal lain. Jika Anda menolak izin, Anda tetap bisa mencari lapangan lewat kolom cari. Anda bisa mencabut izin kapan saja di pengaturan HP (Android: Pengaturan → Aplikasi → Golfstudio → Izin → Lokasi) atau, di aplikasi web, lewat pengaturan situs browser untuk app.golfstudio.io.
Database lapangan (klub, lapangan, tee, course rating/slope, serta foto klub dan lapangan yang kami tampilkan) adalah data referensi dari kami, bukan data pribadi Anda.
6. Cara kami memakai data
- Membuat dan mengelola akun Anda: login, mengirim kode masuk ke email Anda, dan menampilkan profil Anda.
- Menyimpan dan menyinkronkan ronde Anda: menyimpan ronde dan foto scorecard-nya di akun Anda agar Anda bisa mencocokkan skor dengan scorecard asli, menyinkronkannya antar HP dan browser tempat Anda masuk, menampilkan riwayat, dan menghitung Handicap Index tidak resmi.
- Menjalankan fitur aplikasi: menampilkan "Nama di kartu" di kartu ronde, dan memakai Handicap Index awal (bila diisi) sebagai titik awal perhitungan Handicap Index tidak resmi.
- Membaca skor dari foto scorecard (OCR) dan mengembalikan hasilnya ke aplikasi. Setiap ronde wajib Anda cek dan koreksi sebelum disimpan. Jika aplikasi memakai data contoh, layar review menampilkan tanda "Mode demo: hasil contoh".
- Menjalankan Match: menampilkan papan skor dan chat kepada anggota, menyimpan foto bukti untuk konfirmasi skor, memproses laporan pesan (ditinjau tim kami lewat dasbor Supabase), dan membuat ronde di akun Anda setelah konfirmasi.
- Menjalankan Cari teman main: menampilkan flight sesuai visibilitas, memproses permintaan ikut dan daftar tunggu, menjalankan kuota, mengirim notifikasi di aplikasi dan, bila Anda izinkan, notifikasi push, menampilkan chat kepada pemain flight, membuat Match di hari main, dan meninjau laporan serta penanda tidak datang untuk keamanan.
- Menjaga kualitas aplikasi: menghitung jumlah pengguna aktif dan pemakaian fitur (misalnya jumlah ronde, baca foto, dan match, termasuk dari data ronde dan match yang sudah ada di akun) sebagai angka gabungan, melihat platform dan versi aplikasi yang dipakai, mengukur keberhasilan dan kecepatan baca foto, serta menemukan dan memperbaiki error dan masalah sinkronisasi. Tim kami (Agung dan Mena) melihatnya di dasbor internal hanya sebagai angka gabungan, tanpa nama atau email.
- Keamanan: mencegah penyalahgunaan (misalnya membatasi jumlah baca foto per hari per akun), memastikan pengguna berusia 18+, dan memenuhi kewajiban hukum.
- Pesan penting terkait akun, misalnya kode masuk atau konfirmasi penghapusan akun. Kami tidak mengirim email promosi.
Kami tidak memakai data Anda untuk iklan, tidak membuat profil iklan, tidak menjual data pribadi, dan tidak memakai foto atau skor Anda untuk melatih atau meningkatkan model AI/OCR.
6a. Analytics penggunaan aplikasi (Google Analytics for Firebase)
Agar tahu bagian mana dari aplikasi yang membantu dan di mana pengguna kesulitan, aplikasi Android dan aplikasi web di app.golfstudio.io memakai Google Analytics for Firebase.
- Yang dicatat: kejadian pemakaian seperti aplikasi dibuka pertama kali, berhasil login (dan caranya: email, Google, atau Apple), mulai dan menyimpan ronde (lewat foto atau ketik manual, 9/18 lubang, ID lapangan dari katalog kami), hasil pembacaan foto scorecard (berhasil/gagal dan lamanya), HI tampil, berbagi kartu ronde, membuat atau bergabung Match dan flight, mengirim permintaan teman, membuka tab Statistik, dan mengganti bahasa. Kami juga mengirim keterangan umum: bahasa aplikasi, jenis akun (gratis/Pro), kelompok jumlah ronde (misalnya 5–19), dan apakah Anda sudah punya HI.
- Yang diterima Google bersama data itu: ID instalasi aplikasi (Android) atau ID dalam cookie (web), model dan versi sistem perangkat atau jenis browser, versi aplikasi, bahasa, serta perkiraan negara/kota yang diturunkan dari alamat IP. Google Analytics tidak menyimpan alamat IP.
- Yang tidak kami kirim: nama, email, ID akun, nama teman, isi chat, teks laporan, foto, nama lapangan yang Anda ketik sendiri, skor, nilai HI, atau lokasi dari HP. Kami tidak memakai ID iklan, tidak memakai data ini untuk iklan atau membuat profil iklan, dan tidak menautkannya ke Google Ads.
- Cookie di aplikasi web: Google Analytics menyimpan cookie pihak pertama
_ga (pengenal acak browser) dan _ga_… (status sesi) di app.golfstudio.io, masing-masing berlaku paling lama 2 tahun. Tidak ada cookie iklan. Saat pertama membuka aplikasi web, Anda melihat pemberitahuan singkat tentang cookie ini.
- Dasar pemrosesan: kepentingan yang sah kami untuk memperbaiki dan menjaga kualitas aplikasi (UU No. 27 Tahun 2022, Pasal 20), dengan data yang dilihat tim kami hanya sebagai angka gabungan.
- Cara berhenti: aplikasi tidak punya tombol untuk mematikan analytics. Di Android, pengiriman berhenti bila Anda menghapus (uninstall) aplikasi; menu Android "Hapus ID iklan" tidak berkaitan dengan analytics kami karena kami tidak memakai ID iklan. Di web, Anda dapat menghapus atau memblokir cookie app.golfstudio.io di pengaturan browser, atau memakai pengaya penolak Google Analytics dari Google. Anda juga dapat menyampaikan keberatan lewat email (lihat bagian 10).
7. Pihak ketiga yang memproses data
- Supabase: penyedia server, database, dan sistem login kami. Akun, profil (termasuk foto profil), ronde, foto scorecard, dan data match Anda (termasuk chat, laporan pesan, dan foto bukti), serta data Cari teman main (flight, permintaan, chat flight, notifikasi, laporan, dan penanda tidak datang) disimpan di server Supabase di wilayah Tokyo, Jepang; foto ronde dan foto bukti match disimpan di penyimpanan berkas privat (Supabase Storage). Aplikasi Android dan aplikasi web menyinkronkan ronde langsung ke Supabase, tanpa layanan sinkronisasi pihak ketiga lain. Fungsi server untuk membaca foto, catatan jumlah baca foto harian, catatan pemakaian harian, laporan error aplikasi, dan log teknis fungsi server juga ada di Supabase. Analytics penggunaan aplikasi dijelaskan di bagian 6a.
- Foto profil disimpan di penyimpanan berkas privat (Supabase Storage). Gambar pratinjau profil publik dibuat oleh fungsi server kami di Supabase. Foto profil tidak dikirim ke Gemini API.
- Google (Google Sign-In): memverifikasi identitas Anda jika Anda memilih masuk dengan Google. Pemakaian akun Google Anda juga tunduk pada Kebijakan Privasi Google.
- Google (Firebase Cloud Messaging): mengantarkan notifikasi push ke HP Android Anda, atas instruksi kami, sebagai pemroses data. Yang dikirim ke Google: token push dan isi notifikasi (judul, kalimat singkat, ID flight, dan jenis kejadian), tanpa nama, email, atau isi chat. Kami tidak memakai Firebase Analytics. Pemrosesan oleh Google tunduk pada Ketentuan Pemrosesan Data Firebase dan Kebijakan Privasi Google.
- Google (ML Kit, pemindai kode QR di aplikasi Android): saat Anda memindai kode QR, gambar kamera dibaca langsung di HP Anda oleh pustaka ML Kit milik Google dan tidak dikirim ke Google atau ke server kami. ML Kit mengirim data diagnostik teknis ke Google, yaitu info perangkat (merek, model, versi Android), info aplikasi, ID instalasi yang tidak dimaksudkan untuk mengenali Anda atau HP Anda, serta data kinerja dan error, untuk diagnostik dan statistik pemakaian ML Kit. Data ini tidak berisi nama, email, atau ID akun Anda.
- Google (Gemini API): menerima salinan foto dari fungsi server kami untuk membaca skor, atas instruksi kami. Aplikasi tidak terhubung langsung ke Gemini API.
- Kami memakai layanan berbayar Gemini API. Pada layanan berbayar, Google memproses foto dan hasil pembacaan sebagai pemroses data atas instruksi kami, dan tidak memakainya untuk meningkatkan produk Google atau melatih modelnya. Sesuai ketentuan Google, Google menyimpan permintaan (termasuk foto) dan hasilnya selama 55 hari semata-mata untuk mendeteksi dan mencegah pelanggaran kebijakan penggunaan Google (Prohibited Use Policy) dan untuk pengungkapan yang diwajibkan hukum. Konten yang ditandai oleh sistem keamanan Google dapat ditinjau oleh petugas Google yang berwenang. Data tersebut tidak dipakai untuk melatih model AI, kecuali model yang khusus dipakai untuk penegakan kebijakan tersebut. Di sisi kami, foto scorecard ronde hanya disimpan bersama ronde di akun Anda (lihat bagian 2 dan 4); foto bukti match disimpan seperti di bagian 3.
- Resend: layanan pengiriman email yang mengirim kode masuk dari alamat noreply@golfstudio.io. Resend menerima alamat email Anda dan isi email kode tersebut.
- Google (Google Analytics for Firebase): menerima data pemakaian dari aplikasi Android dan aplikasi web seperti dijelaskan di bagian 6a, sebagai pemroses atas nama kami, di server Google yang dapat berada di luar Indonesia, sesuai Ketentuan Pemrosesan Data Google Analytics. Google signals, penautan Google Ads, dan fitur iklan kami matikan.
- Cloudflare: penyedia hosting dan jaringan pengiriman (CDN) untuk aplikasi web di https://app.golfstudio.io (Cloudflare Pages). Saat Anda membuka aplikasi web, Cloudflare menerima alamat IP Anda dan data teknis permintaan (misalnya jenis browser, waktu, dan alamat halaman atau berkas yang diminta) untuk mengirimkan berkas aplikasi dan melindunginya dari serangan. Cloudflare dapat menyimpan log permintaan ini sesuai kebijakan privasinya sendiri. Cloudflare juga melayani halaman profil publik (
app.golfstudio.io/u/…) beserta gambar profil dan gambar pratinjaunya, dan menyimpannya sementara (cache). Selain itu, akun, ronde, foto, dan data match Anda tidak lewat Cloudflare: aplikasi web mengirimnya langsung ke Supabase. Kami tidak memasang Cloudflare Web Analytics di aplikasi web; aplikasi web memakai Google Analytics (lihat bagian 6a).
- Hostinger: penyedia hosting situs golfstudio.io (beranda, Kebijakan Privasi, Syarat Penggunaan, dan halaman Hapus Akun). Saat Anda membuka situs itu, Hostinger menerima alamat IP Anda dan data teknis permintaan, dan dapat menyimpan log sesuai kebijakan privasinya sendiri. Situs ini tidak memakai formulir, cookie, atau analytics.
- Aplikasi yang Anda pilih saat berbagi (misalnya WhatsApp) menerima kartu ronde langsung dari HP atau browser Anda dan tunduk pada kebijakan privasi aplikasi tersebut.
Penyedia di atas memproses data atas nama dan sesuai instruksi kami, dan servernya (sebagian atau seluruhnya) berada di luar Indonesia. Kami tidak membagikan data ke asosiasi golf atau handicap mana pun. Ronde pribadi Anda tidak ditampilkan kepada pengguna lain. Yang terlihat oleh pengguna lain hanya yang Anda pilih untuk dibagikan: di match (nama tampilan, skor match, Course Handicap untuk Net, chat, foto bukti host), di Teman (sesuai pengaturan Privasi Anda), foto profil Anda sesuai setelan Foto profil terlihat oleh (lihat bagian 2), dan di Cari teman main (nama tampilan, HI jika Tampilkan HI menyala, flight yang Anda pasang atau ikuti, pesan untuk host, dan chat flight, sesuai bagian 3a). Data hanya diungkapkan kepada pihak lain jika diwajibkan hukum.
8. Penyimpanan dan retensi
- Akun dan profil: selama akun Anda aktif; dihapus saat Anda menghapus akun.
- Ronde di server: selama akun Anda aktif; dihapus dari server kami saat Anda menghapus akun.
- Foto scorecard (beserta pratinjau kecilnya): disimpan bersama ronde selama akun Anda aktif, kecuali Simpan foto scorecard dimatikan; dihapus dari server kami saat Anda menghapus akun.
- Salinan foto di Google (log keamanan Gemini API): 55 hari, sesuai ketentuan Google (lihat bagian 6), lalu dihapus oleh Google.
- Hasil baca foto di memori server (skor per hole dan nama pemain yang terbaca): paling lama 10 menit, hanya di memori (tidak di database atau disk) dan tanpa foto.
- Catatan jumlah baca foto harian: paling lama 30 hari, lalu dihapus otomatis. Catatan ini ikut terhapus saat Anda menghapus akun.
- Log keamanan dan login: paling lama 30 hari.
- Catatan pemakaian harian: paling lama 400 hari, lalu dihapus otomatis. Catatan ini ikut terhapus saat Anda menghapus akun.
- Laporan error aplikasi: paling lama 90 hari, lalu dihapus otomatis (tanpa ID akun).
- Log teknis fungsi server: paling lama 90 hari, lalu dihapus otomatis (tanpa ID akun).
- Log permintaan di Cloudflare (aplikasi web) dan Hostinger (situs golfstudio.io): mengikuti kebijakan masing-masing penyedia. Kami tidak menyimpan salinan log ini di server kami.
- Pesan chat match: sampai match selesai, dibatalkan, atau kedaluwarsa; lalu dihapus permanen dari server kami.
- Laporan pesan chat: paling lama 30 hari sejak dilaporkan, lalu dihapus otomatis (meski chat sudah lebih dulu dihapus). Saat Anda menghapus akun, nama penulis di laporan diganti "Pemain dihapus" dan tautan ke akun dihapus; isi salinan pesan tetap paling lama 30 hari.
- Foto bukti match: sampai 30 hari setelah match berakhir, lalu dihapus otomatis; lebih awal saat Anda (sebagai host) menghapus akun.
- Data match (anggota, skor, status): selama dibutuhkan untuk menjalankan match dan riwayat yang terkait; ronde yang sudah dikonfirmasi tetap di akun pemain seperti ronde biasa.
- Flight, anggota, dan penanda tidak datang: flight diarsipkan 12 jam setelah tee time; flight beserta daftar anggota, status (termasuk "tidak datang"), dan pesan untuk host dihapus 90 hari setelah tee time.
- Chat flight: sampai flight dibatalkan atau 12 jam setelah tee time, lalu dihapus permanen.
- Notifikasi flight: paling lama 30 hari sejak dibuat (lebih cepat bila flight-nya dihapus).
- Token push: selama Anda masuk di HP itu. Dihapus dari server kami saat Anda keluar (logout), saat Anda menghapus akun, atau otomatis saat Google memberi tahu token itu sudah tidak berlaku (misalnya aplikasi di-uninstall). Paling banyak 10 token per akun; yang paling lama dihapus.
- Laporan Cari teman main (termasuk salinan pesan): paling lama 12 bulan sejak dibuat, lalu dihapus otomatis.
- Foto profil: sampai Anda menghapus atau menggantinya, atau menghapus akun. Foto lama yang tidak dipakai lagi dihapus otomatis.
- Laporan sosial (profil, foto profil, ronde): laporan yang sudah ditinjau dihapus 12 bulan setelah ditinjau; laporan yang belum ditinjau disimpan sampai ditinjau. Jika Anda menghapus akun, laporan yang Anda kirim tetap ada tanpa tautan ke akun Anda sampai batas itu; laporan tentang Anda ikut terhapus.
- Catatan tindakan tim moderasi (jenis tindakan dan waktunya, tanpa isi laporan atau catatan): disimpan tanpa batas waktu untuk keamanan; tautan ke akun dihapus saat akun dihapus.
- Data Teman (@username, setelan, daftar mengikuti dan blokir): selama akun Anda aktif; dihapus saat Anda menghapus akun.
- Cadangan (backup) sistem: data yang sudah dihapus ikut hilang dari cadangan paling lama 30 hari kemudian.
- Salinan di HP: sampai Anda keluar (logout), menghapus akun, menghapus data aplikasi, atau meng-uninstall aplikasi. Jika akun dihapus dari HP atau browser lain, salinan ini terhapus otomatis saat aplikasi dibuka lagi dalam keadaan online.
- Salinan di browser: sampai Anda keluar (logout), menghapus akun, menghapus data situs, atau browser menghapus penyimpanannya. Jika akun dihapus dari HP atau browser lain, salinan ini terhapus otomatis saat aplikasi web dibuka lagi dalam keadaan online.
- Data Google Analytics: paling lama 14 bulan, lalu dihapus otomatis oleh Google; cookie
_ga di browser paling lama 2 tahun kecuali Anda menghapusnya. Data ini tidak terhubung ke ID akun Anda, sehingga tidak ikut terhapus per akun saat Anda menghapus akun.
9. Keamanan
- Semua koneksi memakai HTTPS/TLS.
- Anda masuk dengan kode sekali pakai yang dikirim ke email Anda (atau dengan Google, jika Anda memilih Masuk dengan Google), tanpa perlu membuat kata sandi. Masuk dengan kata sandi hanya tersedia untuk akun yang dibuat oleh tim Golfstudio.io, misalnya akun untuk peninjauan toko aplikasi.
- Profil, ronde, dan foto scorecard Anda hanya dapat dibuka dan diubah oleh akun Anda sendiri. Pengecualiannya data match (untuk anggota match), foto profil (sesuai setelan Anda), dan data Teman dan Peringkat (lihat bagian 3b). Pembatasan ini berlaku per akun di database dan di penyimpanan berkas.
- Data match, chat, dan foto bukti dibatasi per anggota match di database dan di penyimpanan berkas (tanpa tautan publik).
- Laporan pesan hanya bisa dibaca tim kami lewat dasbor Supabase, bukan oleh pengguna lain.
- Flight, anggota, chat flight, dan notifikasi dibatasi di database (RLS); semua perubahan lewat fungsi server yang memeriksa usia, blokir, dan peran host.
- Token push hanya bisa dibaca dan dihapus oleh pemiliknya (RLS); pengiriman push dilakukan fungsi server dengan kunci yang hanya ada di server. Log pengiriman hanya berisi jumlah, tanpa token atau ID akun.
- Catatan pemakaian harian, laporan error, dan log teknis server hanya bisa dibaca tim kami. Aplikasi hanya bisa menambah catatan untuk akun yang sedang masuk dan tidak bisa membacanya kembali. Dasbor internal kami hanya menampilkan angka gabungan, dan aksesnya terbatas untuk Agung dan Mena.
- Metadata lokasi (GPS/EXIF) dihapus dari foto sebelum dikirim.
- Semua foto pengguna (scorecard, profil, bukti match) disimpan di penyimpanan berkas privat, tanpa tautan publik. Foto profil dengan setelan *Semua pengguna* hanya tampil di halaman profil publik sebagai gambar yang dibuat server, bukan sebagai tautan ke berkas aslinya.
- Kunci layanan OCR hanya ada di server, tidak di dalam aplikasi Android maupun berkas aplikasi web.
- Aplikasi Android hanya meminta izin Internet dan Kamera, izin lokasi perkiraan (bukan lokasi akurat) yang baru diminta jika Anda mengetuk Terdekat, serta izin notifikasi (Android 13 ke atas) yang baru diminta setelah Anda membuat atau ikut flight. Galeri dibuka lewat pemilih foto sistem Android, sehingga aplikasi hanya menerima foto yang Anda pilih. Aplikasi web tidak meminta izin kamera; kamera dan galeri memakai pemilih berkas browser.
- Tidak ada sistem yang 100% aman. Jika terjadi kegagalan pelindungan data pribadi, kami akan memberi tahu sesuai UU Pelindungan Data Pribadi.
10. Hak Anda
Sesuai hukum yang berlaku (termasuk UU No. 27 Tahun 2022 tentang Pelindungan Data Pribadi), Anda dapat meminta akses, koreksi, penghapusan data, atau menarik persetujuan.
- Melihat dan mengoreksi profil: buka Edit profil di aplikasi. Kota, klub asal, dan Handicap Index awal dapat Anda kosongkan kapan saja. Ronde Anda, beserta foto scorecard-nya, dapat dilihat di aplikasi.
- Foto profil: ganti atau hapus lewat Profil → Edit profil → Ganti foto → Hapus foto. Mengubah siapa yang melihat: Privasi sosial → Foto profil terlihat oleh.
- Menghapus akun di aplikasi: buka Profil → Hapus akun (di versi aplikasi yang belum punya tab Profil: Pengaturan → Hapus akun) di aplikasi Android atau aplikasi web, lalu ketik HAPUS untuk konfirmasi. Ini menghapus akun, email, profil, semua ronde, semua foto scorecard, foto profil, match yang Anda host beserta foto buktinya, pesan chat yang Anda kirim, catatan pemakaian harian, dan token push dari server kami, serta salinan ronde milik akun tersebut di HP atau browser tempat Anda menghapus akun (termasuk ronde yang dicatat sebelum Anda masuk dan otomatis dikaitkan ke akun Anda). Laporan pesan yang sudah masuk tetap ada paling lama 30 hari (dengan nama penulis diganti "Pemain dihapus" bila perlu), lalu dihapus otomatis. Di HP atau browser lain yang pernah masuk ke akun ini, sesi masuk berakhir dan salinan ronde di sana terhapus otomatis saat aplikasi atau aplikasi web dibuka lagi dalam keadaan online. Catatan jumlah baca foto harian dan catatan pemakaian harian milik akun Anda juga ikut terhapus. Laporan error aplikasi dan log teknis fungsi server tidak berisi ID akun, jadi tidak terhubung ke Anda, dan terhapus otomatis paling lama 90 hari. Memilih Keluar (logout) tidak menghapus akun atau ronde di server; yang dihapus hanya salinan di HP atau browser itu (lihat bagian 5). Keluar juga menghapus token push HP itu, jadi HP itu tidak menerima notifikasi flight lagi. Untuk Cari teman main: flight yang Anda host dipindahkan ke pemain yang paling awal ikut, atau dibatalkan bila tidak ada pemain lain; keanggotaan, pesan untuk host, notifikasi Anda, dan pesan chat flight yang Anda kirim dihapus. Notifikasi milik pemain lain tentang tindakan Anda (misalnya "… minta ikut") tetap ada sampai masa simpannya habis (paling lama 30 hari), tetapi nama Anda tidak lagi ditampilkan dan diganti "Seseorang". Laporan yang sudah masuk tetap ada paling lama 12 bulan, tanpa tautan ke akun Anda.
- Di dalam match: Anda bisa melaporkan pesan, membisukan anggota (hanya di perangkat Anda), atau — jika Anda host — menghapus pesan dan membatalkan match (skor yang sudah dikonfirmasi tetap di riwayat masing-masing).
- Menghapus akun tanpa aplikasi: ikuti langkah di https://golfstudio.io/hapus-akun, atau email ke golfstudioadmin@gmail.com dengan subjek "Hapus Akun Golfstudio.io" dari alamat email akun Anda.
- Permintaan lain (salinan data, pertanyaan, atau keberatan): email ke golfstudioadmin@gmail.com.
- Analytics: lihat cara berhenti di bagian 6a, atau email kami untuk menyampaikan keberatan.
Untuk permintaan lewat email, kami mengonfirmasi dalam 3 hari kerja, menyelesaikan penghapusan paling lambat 30 hari, dan mengirim pemberitahuan setelah selesai. Cadangan dan log terhapus paling lama 30 hari kemudian.
11. Anak-anak
Golfstudio.io ditujukan untuk pengguna berusia 18 tahun ke atas dan tidak ditujukan untuk anak-anak. Saat membuat profil, Anda wajib mengonfirmasi bahwa Anda berusia 18 tahun ke atas. Jika kami mengetahui ada akun milik anak di bawah 18 tahun, kami akan menghapusnya.
12. Perubahan kebijakan
Kami dapat memperbarui kebijakan ini bila aplikasi berubah. Versi terbaru selalu ada di https://golfstudio.io/privacy dengan tanggal "Terakhir diperbarui" yang baru. Untuk perubahan penting, kami akan memberi tahu di aplikasi atau lewat email akun Anda.
13. Kontak
Golfstudio.io
Email: golfstudioadmin@gmail.com
Alamat: Cluster Miami Kota Wisata Cibubur
Dokumen produk — review hukum disarankan sebelum publish final.