Kebijakan Privasi VibeCode
Kebijakan ini menjelaskan data apa yang kami kumpulkan dan simpan saat Anda memakai VibeCode, untuk apa data itu dipakai, ke mana data itu dikirim, berapa lama disimpan, dan apa yang dapat Anda lakukan atasnya. Kebijakan ini berlaku untuk aplikasi desktop VibeCode, ekstensi VS Code, Chat web, API VibeCode, dan situs web VibeCode. Layanan ini diselenggarakan oleh VibeCode, Jakarta (selanjutnya "kami").
Terakhir diperbarui:
Data yang kami kumpulkan dan simpan
Bagian ini hanya mencantumkan data yang benar-benar disimpan oleh sistem kami. Kami tidak menyimpan isi percakapan Anda dengan model di basis data kami, kecuali riwayat Chat web yang dijelaskan di bawah. Lama penyimpanan tiap jenis data dirangkum di bagian Berapa lama data disimpan.
Akun masuk
Anda masuk dengan Gmail dan kata sandi, atau dengan akun Google, lewat Firebase Authentication, layanan milik Google. Firebase menyimpan, antara lain, UID (kode identitas akun) dan alamat Gmail Anda, dan server kami menerima keduanya lewat token sesi masuk Anda pada setiap permintaan yang memerlukan akun. Kata sandi dikelola oleh Firebase dan tidak pernah melewati server VibeCode.
Profil akun di aplikasi desktop dan ekstensi VS Code
Saat Anda masuk lewat aplikasi desktop atau ekstensi VS Code, aplikasi membuat satu dokumen profil untuk akun Anda di basis data Firebase (Firestore) milik kami. Isinya UID Anda sebagai nama dokumen, Gmail Anda, penanda paket lama, dan penghitung pemakaian lama beserta awal periodenya.
Daftar pengguna di server kami
Server kami menyimpan UID Anda, alamat Gmail dari token sesi masuk Anda, dan waktu akun Anda pertama kali terlihat (pada permintaan chat atau API pertama Anda) dalam satu daftar pengguna yang hanya dapat dibuka oleh administrator. Daftar ini dipakai untuk mengelola layanan, misalnya mencari akun saat Anda meminta bantuan atau mengubah tingkat langganan.
Credit, paket, dan penghitung pemakaian
Untuk setiap akun kami menyimpan saldo dompet Credit, tingkat langganan (Free, Pro, atau Max) beserta masa berlaku paket, penghitung pemakaian paket pada jendela 5 jam dan jendela mingguan, serta penghitung permintaan harian dan pencarian harian.
Catatan transaksi pembayaran
Untuk setiap isi ulang atau pembelian paket kami menyimpan satu catatan transaksi berisi id transaksi, UID Anda, nominal harga, total yang dibayar, jenis (dompet atau paket), status, waktu dibuat, waktu kedaluwarsa, waktu selesai, dan kunci acak untuk membuka halaman pembayaran transaksi itu. Saat pembayaran dikonfirmasi, catatan itu juga memuat id mutasi dan nominal yang terbaca dari portal pembayaran, serta waktu saat sistem kami mencatatnya. Nama, nomor rekening, nomor dompet digital, dan data kartu pembayaran Anda tidak termasuk dalam catatan ini. Pembayaran yang terbaca tetapi tidak cocok dengan transaksi mana pun disimpan sebagai catatan mutasi tak cocok (id mutasi, nominal, waktu, dan alasan tidak cocok) supaya administrator dapat menelusurinya dan, bila perlu, menugaskannya ke akun yang benar. Administrator juga memiliki log kejadian pembayaran yang hanya menyimpan kejadian terbaru dan memuat, antara lain, id mutasi, id transaksi, UID, dan nominal.
Riwayat Chat web
Chat web menyimpan riwayat percakapan Anda di server kami supaya sinkron di semua perangkat Anda: judul percakapan, pesan Anda (termasuk isi berkas teks dan gambar yang Anda lampirkan), dan jawaban model. Batasnya 200 percakapan per akun, 8 MiB per percakapan, dan 50 MiB per akun. Layanan hanya membuka riwayat itu untuk akun pemiliknya. Dari halaman Chat, Anda dapat menghapus satu percakapan atau seluruh riwayat, dan mengunduh seluruh riwayat Anda, kapan saja.
Riwayat di perangkat Anda
Riwayat percakapan, memori agen, lampiran, dan pengaturan di aplikasi desktop dan ekstensi VS Code disimpan di perangkat Anda, bukan di server kami. Token sesi masuk dan kunci model milik Anda yang Anda masukkan di aplikasi disimpan dalam bentuk terenkripsi memakai penyimpanan aman sistem operasi (di ekstensi VS Code: penyimpanan rahasia VS Code), dan aplikasi menolak menyimpannya bila enkripsi itu tidak tersedia.
Data di peramban Anda
Situs web menyimpan data di penyimpanan peramban Anda (localStorage, sessionStorage, dan IndexedDB): sesi masuk Firebase, penanda bahwa Anda pernah masuk beserta waktu sesi dimulai, model terakhir yang Anda pilih di Chat, tab bahasa contoh kode di dokumentasi API, serta tembolok kurs dan informasi rilis. Bila Anda memilih Tetap masuk di perangkat ini (tercentang sejak awal), sesi masuk Anda disimpan sampai 30 hari atau sampai Anda menekan Keluar, jadi matikan pilihan itu di komputer umum. Situs kami tidak memasang alat analitik atau pelacak iklan. Bila peramban Anda menyediakan pengenalan ucapan dan Anda memakainya untuk mendikte di Chat, suara diproses oleh peramban Anda dan penyedianya, bukan oleh server kami; kami tidak menerima rekaman suara Anda, dan pemrosesan oleh penyedia peramban tunduk pada kebijakan penyedia itu.
Log pemakaian chat dan pencarian
Untuk permintaan chat dan pencarian yang kami proses, dari aplikasi maupun Chat web, kami mencatat satu baris log pemakaian: waktu, UID, jenis permintaan, model, status, kode galat bila ada, nama kolom permintaan yang tidak diteruskan (tanpa nilainya), biaya dalam Credit, jumlah token masukan dan keluaran, durasi, dan penanda teknis internal tentang pemrosesan permintaan. Kami tidak mencatat isi percakapan, isi berkas, atau kata kunci pencarian Anda dalam log ini. Log ini dibatasi pada 2.000 baris terakhir per hari (hari menurut UTC). Selain batas itu, log ini tidak dihapus secara otomatis; Anda dapat meminta penghapusannya lewat vibetokenapi1@gmail.com.
Kontrol jarak jauh
Fitur kontrol jarak jauh mati sampai Anda menyalakannya sendiri di aplikasi. Bila dinyalakan, lalu lintas antara peramban dan komputer Anda melewati server relay kami dalam bentuk yang dienkripsi ujung ke ujung, sehingga kami tidak dapat membacanya. Yang terlihat oleh kami hanya data teknis: UID, peran perangkat, id perangkat, ukuran pesan, dan waktu. Relay tidak menyimpan isi yang diteruskan, dan riwayat percakapan jarak jauh tidak disimpan di server kami. Peramban yang Anda pakai untuk mengendalikan aplikasi menyimpan identitas pairing (sebuah kunci yang tidak dapat diekspor dan data komputer yang dipasangkan) di IndexedDB peramban itu.
Log teknis server
Permintaan HTTP ke server kami dicatat di log sistem berupa metode, jalur (tanpa parameter kueri), status, dan lama proses. Aplikasi layanan kami tidak menyimpan alamat IP pengguna di basis datanya. Server kami dan penyedia hosting dapat mencatat alamat IP dalam log teknis untuk keamanan dan pemecahan masalah, dan menyimpannya sebatas yang diperlukan untuk keperluan itu. Pada kegagalan tertentu, misalnya permintaan yang rusak, log kesalahan dapat memuat potongan kecil dari permintaan itu.
Data penggunaan API
Bagian ini berlaku bila Anda membuat dan memakai kunci API VibeCode.
Kunci API
Kunci API ditampilkan sekali, saat Anda membuatnya. Server kami tidak menyimpan kunci itu; yang disimpan adalah sidik jari (hash) SHA-256 dari kunci, nama yang Anda berikan, empat karakter terakhir, tanggal dibuat, dan waktu terakhir dipakai, sehingga kami tidak dapat menampilkan kunci Anda kembali. Saat kunci dicabut, hash-nya dibuang dari catatan akun, sedangkan nama, empat karakter terakhir, serta tanggal dibuat dan dicabut disimpan 31 hari agar Anda dapat mengenali kunci yang sudah dicabut, lalu dihapus.
Catatan setiap permintaan
Untuk setiap permintaan API yang lolos pemeriksaan kunci dan batas laju, kami mencatat satu baris: waktu, id permintaan, id kunci, model, status HTTP, kode hasil atau galat, jumlah token masukan dan keluaran, biaya dalam Credit, penanda apakah angka token berasal dari penghitungan penyedia model atau ditaksir, lama proses, dan apakah respons dialirkan (stream). Isi pesan, berkas, gambar, dan jawaban model tidak dicatat. Baris ini disimpan 30 hari dan dapat Anda lihat di halaman Credit; permintaan yang ditolak karena melampaui batas laju tidak dicatat. Penghapusan dijalankan secara berkala, jadi kegagalan teknis dapat menunda penghapusan baris yang sudah lewat masa simpannya.
Ringkasan harian
Dari catatan itu kami menyusun ringkasan harian (hari menurut WIB, yaitu UTC+7) per kunci dan per model: jumlah permintaan, token masukan, token keluaran, biaya, jumlah permintaan gagal, dan jumlah yang angkanya ditaksir. Ringkasan ini dipakai untuk grafik pemakaian Anda dan disimpan tanpa batas waktu. Kami juga menyimpan ringkasan gabungan seluruh pengguna per hari, tanpa identitas pengguna, untuk dasbor administrator.
Catatan administrator
Administrator juga memiliki catatan trafik API yang memuat UID, model, status, kode, jumlah token, biaya, dan durasi, tanpa isi pesan. Catatan ini hanya menyimpan 2.000 permintaan terakhir per hari (hari menurut UTC, bukan WIB) dan dihapus setelah 30 hari. Karena batas itu, catatan administrator bukan arsip lengkap; arsip 30 hari milik Anda adalah log permintaan di halaman Credit.
Daftar akun API
Untuk mengelola layanan dan mencegah penyalahgunaan, administrator memiliki daftar akun yang pernah membuat kunci API: UID, Gmail dari token sesi masuk saat kunci dibuat, jumlah kunci aktif, tanggal pertama membuat kunci, dan status blokir. Administrator dapat mencabut kunci atau memblokir akses API sebuah akun.
Batas laju
Untuk menegakkan batas laju per menit pada setiap akun, kami menyimpan stempel waktu permintaan terbaru akun Anda dalam catatan akun API.
Isi permintaan API
Isi permintaan API (pesan, berkas, dan gambar) serta jawaban model tidak disimpan di basis data kami. Isi itu diproses di memori server, diteruskan ke penyedia model sebagaimana dijelaskan di bagian Penyedia model dan pihak ketiga lain, dan jawabannya dikirim kembali kepada Anda. Bila Anda mengisi kolom user pada permintaan, nilainya ikut diteruskan ke penyedia model, jadi jangan mengisinya dengan data pribadi.
Untuk apa kami memakai data
Kami memakai data Anda untuk menjalankan layanan yang Anda minta, yaitu untuk tujuan berikut:
- menjalankan layanan: mengenali akun Anda, meneruskan permintaan ke penyedia model, menyimpan riwayat Chat web, dan menampilkan saldo serta pemakaian Anda;
- menagih dan membukukan: menghitung biaya dalam Credit, mencocokkan pembayaran QRIS dengan transaksi Anda, dan mengaktifkan paket;
- keamanan dan pencegahan penyalahgunaan: menegakkan batas laju, memblokir kunci atau akun, dan memantau pemakaian yang tidak wajar, termasuk pemakaian jalur internal aplikasi dan Chat web di luar aplikasi dan Chat web VibeCode;
- mendukung Anda dan mengelola layanan: mencari akun, memperbaiki saldo atau paket, dan menanggapi permintaan Anda;
- memahami pemakaian lewat angka gabungan, misalnya model yang paling banyak dipakai, untuk merencanakan kapasitas dan biaya.
Kami tidak menjual data pribadi Anda dan tidak memakainya untuk iklan. Kami sendiri tidak memakai isi pesan atau berkas Anda untuk melatih model. Kami hanya mengungkapkan data Anda kepada pihak berwenang bila hukum mewajibkannya.
Penyedia model dan pihak ketiga lain
Model dari VibeCode
Bila Anda memakai model dari VibeCode, baik di aplikasi, Chat web, maupun API, isi permintaan Anda kami teruskan ke penyedia model AI pihak ketiga untuk diproses. Ini terjadi karena Anda memakai fitur model: tanpa meneruskan isi pesan Anda, permintaan Anda tidak dapat dijawab. Yang diteruskan adalah pesan Anda, berkas dan gambar yang Anda sertakan, dan hasil alat yang dikirim agen. Penyedia menerimanya dari server kami dengan kredensial milik kami, dan kami tidak menambahkan UID atau Gmail Anda ke permintaan itu. Penyedia memproses isi tersebut di luar Indonesia, menurut kebijakan mereka sendiri, termasuk lama penyimpanannya, yang tidak kami kendalikan. Kami sendiri tidak memakai isi tersebut untuk melatih model.
Pencarian web lewat VibeCode
Bila agen mencari di web lewat server kami, kata kunci pencarian dikirim ke server kami lalu diteruskan ke satu atau beberapa penyedia pencarian web pihak ketiga. Kami hanya mencatat bahwa pencarian terjadi (UID, status, dan durasi), bukan kata kuncinya. Penyedia pencarian itu memproses kata kunci di luar Indonesia, menurut kebijakan mereka sendiri.
Kunci milik Anda dan endpoint kustom atau lokal
Bila di aplikasi desktop Anda memakai kunci milik Anda sendiri atau endpoint kustom, permintaan model dikirim langsung dari perangkat Anda ke alamat yang Anda tetapkan, tanpa melewati server kami, dan tunduk pada kebijakan pihak yang mengelola alamat itu. Endpoint lokal memproses data di perangkat Anda sendiri.
Alat agen yang mengakses internet
Alat agen yang mengakses internet, seperti pengambilan halaman web, pencarian gambar, dan pencarian web yang tidak lewat server kami, berjalan dari perangkat Anda. Alat itu mengirim alamat atau kata kunci yang disusun agen langsung ke layanan pihak ketiga yang bersangkutan.
Layanan pihak ketiga lain dihubungi langsung oleh peramban atau aplikasi Anda dan dapat melihat alamat IP Anda serta data teknis lain; masing-masing tunduk pada kebijakan privasinya sendiri:
- Firebase dan Google, untuk masuk dan menyimpan profil akun;
- layanan hosting rilis aplikasi pihak ketiga, yang dihubungi aplikasi desktop untuk memeriksa pembaruan dan dihubungi situs untuk menampilkan tautan unduhan;
- layanan kurs mata uang pihak ketiga, yang dihubungi peramban Anda saat membuka halaman harga;
- katalog model publik pihak ketiga, yang dihubungi aplikasi desktop untuk mengambil daftar model;
- indeks dan sumber skill pihak ketiga, yang dihubungi aplikasi desktop saat Anda mencari atau memasang skill di menu Kemampuan; kata pencarian Anda dapat dikirim ke layanan itu;
- penyedia hosting yang melayani situs web kami dan penyedia server virtual (VPS) tempat layanan kami berjalan; keduanya berada di luar Indonesia.
Pembayaran
Isi ulang Credit dan pembelian paket dibayar lewat QRIS. Server kami membuat kode QR dengan nominal unik untuk transaksi Anda, dan pembayaran Anda diproses oleh aplikasi bank atau dompet digital pilihan Anda serta jaringan QRIS.
Untuk mengetahui bahwa Anda sudah membayar, kami membaca konfirmasi pembayaran dari portal pembayaran pihak ketiga yang kami pakai sebagai penerima. Sistem kami hanya membaca dan menyimpan id mutasi dan nominal dari jawaban portal itu, serta mencatat waktu sistem kami menerimanya, lalu mencocokkannya dengan transaksi Anda. Sistem kami tidak membaca atau menyimpan nomor kartu, nomor rekening, atau nama dompet digital Anda, dan kami tidak menyimpan identitas pembayar.
Berapa lama data disimpan
Tabel berikut merangkum lama penyimpanan. Bila sebuah baris menyebut bahwa sistem tidak menghapus data secara otomatis, data itu tetap ada sampai dihapus atas permintaan atau oleh administrator, kecuali pengecualian yang tertulis pada baris itu. Penghapusan data yang berbatas waktu dijalankan secara berkala oleh sistem; kegagalan teknis dapat menunda penghapusannya.
| Data | Disimpan di | Lama penyimpanan |
|---|---|---|
| Akun masuk (UID, Gmail, kata sandi yang dikelola Firebase) | Firebase | Sampai akun dihapus |
| Profil akun di Firestore (aplikasi desktop dan ekstensi VS Code) | Firebase | Sampai Anda memakai Hapus akun di aplikasi desktop |
| Daftar pengguna (UID, Gmail, waktu pertama terlihat) | Server kami | Tidak dihapus otomatis, kecuali bahwa entri tertua dapat terbuang bila daftar penuh; dihapus atas permintaan |
| Saldo, tingkat, masa paket, dan penghitung pemakaian | Server kami | Tidak dihapus otomatis; tetap ada setelah akun tidak dipakai atau dihapus sampai penghapusannya diminta, kecuali yang harus disimpan untuk pembukuan |
| Catatan transaksi pembayaran dan mutasi tak cocok | Server kami | Selama diperlukan untuk pembukuan dan kewajiban hukum (mutasi tak cocok dihapus saat akhirnya dicocokkan atau ditugaskan oleh administrator) |
| Log kejadian pembayaran (untuk administrator) | Server kami | Hanya kejadian terbaru; kejadian baru menggantikan yang tertua |
| Riwayat Chat web | Server kami | Sampai Anda menghapusnya |
| Riwayat percakapan, memori agen, lampiran, dan pengaturan di aplikasi | Perangkat Anda | Sampai Anda menghapusnya |
| Log pemakaian chat dan pencarian | Server kami | 2.000 baris terakhir per hari (UTC); selebihnya tidak dihapus otomatis, dan dihapus atas permintaan |
| Kunci API aktif (hash, nama, empat karakter terakhir) | Server kami | Sampai kunci dicabut |
| Nama dan tanggal kunci API yang dicabut (tanpa hash) | Server kami | 31 hari sejak dicabut |
| Catatan setiap permintaan API | Server kami | 30 hari |
| Catatan administrator API | Server kami | 30 hari; paling banyak 2.000 permintaan terakhir per hari (UTC) |
| Daftar akun API (UID, Gmail, jumlah kunci aktif, tanggal pertama membuat kunci, status blokir) | Server kami | Tidak dihapus otomatis; entri hanya dibuang otomatis bila daftar penuh dan akun tidak punya kunci aktif, tidak punya log, dan tidak diblokir; dihapus atas permintaan |
| Ringkasan harian pemakaian API | Server kami | Tanpa batas waktu |
| Sesi masuk di peramban | Peramban Anda | Sampai 30 hari (Tetap masuk) atau sampai Anda menekan Keluar |
| Log sistem server dan proxy | Server kami dan penyedia hosting | Sebatas yang diperlukan untuk keamanan dan pemecahan masalah |
Keamanan
- Komunikasi antara aplikasi, situs, atau klien API Anda dan server kami berjalan lewat HTTPS.
- Kata sandi Anda dikelola oleh Firebase dan tidak pernah sampai ke server kami.
- Kunci API hanya disimpan sebagai hash dan hanya ditampilkan sekali.
- Token sesi masuk dan kunci model milik Anda di perangkat Anda disimpan dalam bentuk terenkripsi memakai penyimpanan aman sistem operasi.
- Layanan menentukan akun Anda dari token sesi masuk yang diverifikasi, bukan dari data yang dikirim klien, sehingga riwayat Chat web dan data akun terpisah per akun.
- Rute administrator hanya menjawab akun administrator yang terverifikasi.
- Kami membatasi laju dan ukuran permintaan untuk melindungi layanan dari penyalahgunaan.
Data disimpan di server di luar Indonesia. Akses ke data pengguna dibatasi pada administrator VibeCode. Tidak ada sistem yang sepenuhnya aman, dan kami tidak dapat menjamin keamanan mutlak. Bila terjadi kebocoran data yang berdampak pada Anda, kami akan memberi tahu Anda lewat Gmail akun atau pengumuman di situs, sejauh yang diwajibkan.
Hak Anda atas data Anda
Anda dapat meminta akses ke data pribadi Anda yang kami simpan beserta salinannya, koreksi atas data yang keliru, atau penghapusan data Anda.
Yang dapat Anda lakukan sendiri:
- Chat web: hapus satu percakapan atau seluruh riwayat, dan unduh seluruh riwayat, dari halaman Chat.
- API: cabut kunci kapan saja dari halaman API, dan lihat pemakaian serta log permintaan 30 hari terakhir di halaman Credit.
- Aplikasi desktop: buka Pengaturan, tab Akun, lalu pilih Hapus akun saya untuk menghapus akun masuk dan profil akun Anda di Firebase.
Untuk meminta akses, salinan, koreksi, atau penghapusan data di server kami, kirim permintaan ke vibetokenapi1@gmail.com dari Gmail akun Anda, supaya kami dapat memastikan bahwa permintaan itu datang dari Anda. Kami berusaha menanggapi dalam 14 hari. Permintaan diproses secara manual, dan situs belum punya tombol hapus akun.
Setelah permintaan penghapusan, kami tetap menyimpan catatan transaksi pembayaran (nominal, waktu, dan UID Anda) karena diperlukan untuk pembukuan.
Anak-anak
Layanan ini untuk pengguna berusia 18 tahun ke atas. Kami tidak sengaja mengumpulkan data pengguna di bawah usia itu, dan menghapusnya bila mengetahuinya.
Perubahan kebijakan
Kami dapat memperbarui kebijakan ini. Perubahan diumumkan lewat banner di situs dan aplikasi serta tanggal pembaruan terakhir di bagian atas halaman ini, dan berlaku sejak tanggal itu.
Versi Indonesia dokumen ini yang mengikat. Bila versi Indonesia dan versi Inggris berbeda, versi Indonesia yang berlaku.
Kontak
Pertanyaan, permintaan, atau keluhan tentang kebijakan ini dapat dikirim ke vibetokenapi1@gmail.com. Penyelenggara layanan adalah VibeCode, Jakarta.