Privasi

Kebijakan Privasi

Versi
1.0
Terakhir diperbarui
Berlaku sejak

Kebijakan ini menjelaskan data pribadi yang diproses Nihongofy (jlpt.lans.my.id), sesuai dengan cara aplikasi ini benar-benar bekerja. Ringkasnya:

  • Tidak ada iklan, analytics pihak ketiga, atau cookie pelacak.
  • Catatan Anda privat sampai Anda sendiri membagikannya ke diskusi.
  • Diskusi yang dibagikan dapat dibaca siapa pun, diindeks mesin pencari, dan menampilkan nama tampilan, username, serta avatar Anda.
  • Anda dapat mengunduh data akun dan menghapus akun sendiri dari halaman profil.

1.Siapa kami

Nihongofy adalah platform belajar bahasa Jepang dan simulasi JLPT yang dikelola oleh Pengelola Nihongofy ("kami"). Untuk data pribadi yang dijelaskan di sini, kami bertindak sebagai Pengendali Data Pribadi sebagaimana dimaksud Undang-Undang Nomor 27 Tahun 2022 tentang Pelindungan Data Pribadi ("UU PDP").

Pertanyaan atau permintaan terkait data pribadi dapat dikirim ke contact@lans.my.id.

Kebijakan ini dibaca bersama Syarat & Ketentuan.

2.Data akun

Saat Anda mendaftar dan memakai akun, kami menyimpan:

  • Email. Disimpan dalam huruf kecil dan dipakai sebagai satu-satunya identitas login. Email tidak dapat diubah dari aplikasi setelah akun dibuat.
  • Nama tampilan dan username publik. Username dibuat otomatis saat mendaftar dan dapat Anda ubah. Username bukan kredensial login.
  • Password, hanya dalam bentuk hash bcrypt. Password asli tidak pernah disimpan atau dicatat di log. Akun yang dibuat lewat Google tidak memiliki password sampai Anda membuatnya.
  • Avatar. Gambar yang Anda unggah dipotong dan diperkecil menjadi 512×512 WebP di perangkat Anda, lalu disimpan di Cloudflare R2. Avatar lama dihapus dari penyimpanan saat diganti atau dilepas.
  • Zona waktu (bawaan Asia/Jakarta), dipakai untuk batas hari flashcard dan format tanggal.
  • Status verifikasi email, preferensi privasi, tanggal pembuatan akun, peran akun (pengguna atau admin), dan jadwal penghapusan akun bila Anda memintanya.

Masuk dengan Google

Bila Anda memilih masuk dengan Google, kami meminta cakupan openid, email, dan profile. Yang kami simpan adalah ID akun Google Anda (sub) sebagai penanda tetap, alamat email Google, serta nama dan URL foto profil Google saat akun pertama kali dibuat. Foto tersebut tetap dimuat dari server Google.

Kami tidak menyimpan access token maupun refresh token Google. ID token dari Google hanya diverifikasi saat login lalu dibuang, sehingga kami tidak dapat mengakses Gmail, Drive, kontak, atau data Google Anda yang lain.

3.Data belajar

Untuk menyimpan progres, kami mencatat aktivitas belajar Anda:

  • Mock test dan latihan per seksi: paket yang dikerjakan, jawaban yang dipilih, benar atau salah, tanda ragu-ragu, serta waktu mulai dan selesai.
  • Latihan cepat: level, seksi, jenis soal, urutan soal, jawaban, dan waktu menjawab.
  • Kana: berapa kali tiap huruf dilihat, dijawab benar, atau diulang.
  • Flashcard: deck yang Anda ikuti beserta pengaturannya, jadwal tiap kartu, dan riwayat review (waktu, penilaian, dan lama menjawab), serta pengaturan tampilan.
  • Artikel: artikel yang Anda simpan atau favoritkan dan kapan terakhir dibaca.

Halaman dashboard, history, progress, dan analytics hanya menghitung ulang data di atas untuk Anda sendiri.

Tanpa akun (tamu)

Tamu dapat mengerjakan mock test dan latihan cepat tanpa mendaftar. Hasilnya tidak disimpan di database kami: lembar jawaban hanya ada di sessionStorage tab browser Anda dan hilang saat tab ditutup, sedangkan paket dan daftar soal yang sedang dikerjakan disimpan di cookie sesi browser (lihat bagian Cookie).

Bila Anda menekan tombol untuk menyimpan hasil ujian tamu ke akun, lembar jawaban dititipkan di server selama paling lama 24 jam agar dapat diklaim setelah Anda masuk atau selesai memverifikasi email. Titipan itu sekali pakai: setelah diklaim, ia menjadi attempt di akun Anda dan titipannya dihapus. Skor dihitung ulang di server dari kunci jawaban.

4.Catatan, diskusi, dan gambar

Pada soal, kata flashcard, dan pola bunpou, Anda dapat menulis catatan, membalas entri orang lain, menyebut (mention) entri tertentu, dan melampirkan gambar.

  • Catatan bersifat privat secara bawaan. Catatan privat hanya ditampilkan kepada Anda.
  • Catatan menjadi publik hanya bila Anda membagikannya ke diskusi, atau bila Anda menulis langsung di kolom diskusi. Balasan selalu publik karena mengikuti thread tempatnya ditulis.
  • Mention disimpan sebagai tautan ke entri yang dituju, bukan sebagai teks nama, dan tidak ditampilkan lagi bila entri tujuannya dihapus.

Penting: diskusi publik terlihat siapa pun

Entri diskusi yang dibagikan dapat dibaca siapa pun tanpa login dan diindeks oleh mesin pencari (diskusi soal, kata, dan pola bunpou). Setiap entri menampilkan nama tampilan, username, dan avatar Anda.

Jangan menulis data pribadi Anda maupun orang lain di diskusi. Setelah halaman terindeks, salinan di mesin pencari atau arsip pihak ketiga dapat bertahan sampai mereka memperbaruinya, dan itu di luar kendali kami.

Menarik kembali dan menghapus

  • Entri yang ditarik kembali ke privat berhenti tampil di diskusi. Bila sudah ada balasan, entri itu digantikan penanda "disembunyikan" tanpa isi dan tanpa identitas Anda, dan balasan orang lain tetap terbaca.
  • Entri yang Anda hapus tidak lagi ditampilkan; root yang punya balasan menjadi penanda "telah dihapus". Penghapusan ini bersifat soft delete: isi entri saat ini masih tersimpan di database kami walaupun tidak ditampilkan, supaya thread dan balasan orang lain tetap utuh.
  • Gambar lampiran disimpan di Cloudflare R2 dengan alamat acak yang sulit ditebak, tetapi tidak dilindungi login: siapa pun yang memegang tautannya dapat membukanya, termasuk lampiran pada catatan privat. File gambar saat ini tidak dihapus otomatis, termasuk saat entrinya dihapus.

Moderasi

Admin dapat menyembunyikan thread, menurunkan (takedown) entri, memulihkan entri yang diturunkan admin, dan membatasi akun agar tidak dapat menulis ke diskusi publik. Status pembatasan dan alasannya dicatat pada akun. Setiap tindakan admin dicatat di log audit internal yang memuat jenis tindakan dan targetnya, tanpa isi konten. Menulis ke diskusi dibatasi jumlahnya per akun untuk mencegah spam.

5.Laporan

Anda dapat melaporkan bug, kesalahan isi, atau penyalahgunaan lewat /report atau tombol Laporkan, dengan atau tanpa akun. Laporan menyimpan kategori, pesan Anda, item yang dilaporkan, path halaman tempat laporan dikirim (tanpa query string), dan user agent browser Anda. Tamu harus melewati Cloudflare Turnstile.

  • Tamu boleh mengisi alamat email untuk dibalas. Kolom ini opsional.
  • Pengguna yang login hanya dibalas bila mencentang opsi balasan ke email akun; alamatnya diambil dari akun Anda di server.
  • Email balasan hanya dipakai untuk menjawab laporan tersebut. Balasan dikirim manual oleh admin, paling banyak satu kali, dan tidak mengutip isi laporan Anda.
  • Alamat email balasan dikosongkan otomatis 90 hari setelah laporan ditutup. Isi laporannya tetap disimpan sebagai riwayat perbaikan.

6.Percakapan dan Bicara (AI)

Bagian ini berlaku bila fitur Percakapan dan Bicara sedang tersedia. Keduanya hanya dapat dipakai setelah login.

Yang dikirim ke penyedia AI

Untuk menghasilkan balasan, server kami mengirim pesan Anda, riwayat percakapan pada sesi tersebut (teks bahasa Jepang), serta instruksi persona, level, dan topik ke penyedia model AI (OpenAI, melalui gateway API milik pengelola). Untuk umpan balik koreksi, yang dikirim adalah kalimat yang ingin Anda periksa. Nama, email, username, dan ID akun Anda tidak ikut dikirim. Pemrosesan di sisi penyedia tunduk pada ketentuan penyedia tersebut. Jangan menuliskan data pribadi di percakapan.

Penyimpanan transkrip

  • Penyimpanan percakapan mati secara bawaan dan dapat diatur di Profil > Privasi.
  • Bila aktif saat sesi dibuat, isi tiap giliran (teks Jepang, terjemahan, romaji, dan umpan balik) disimpan agar sesi dapat dilanjutkan. Bila mati, isi percakapan tidak disimpan; yang tersimpan hanya data sesi seperti persona, level, topik, waktu, dan jumlah giliran.
  • Pilihan itu dicatat per sesi saat sesi dibuat. Mengubah preferensi berlaku untuk sesi berikutnya, bukan sesi yang sudah ada.
  • Pemakaian harian (jumlah giliran dan token) selalu dicatat, juga saat isi percakapan tidak disimpan.
  • Saat ini belum ada penghapusan otomatis: transkrip yang disimpan bertahan sampai Anda menghapus sesinya atau menghapus akun.

Suara

Pengenalan suara dan suara karakter memakai Web Speech API milik browser Anda. Rekaman mikrofon tidak dikirim ke server kami dan tidak kami simpan; yang sampai ke server hanya teks hasil pengenalan. Sebagian browser (misalnya Chrome) memproses audio pengenalan suara di server penyedia browser, dan hal itu tunduk pada kebijakan penyedia browser Anda. Pengaturan izin penyimpanan audio sudah tersedia, tetapi aplikasi saat ini tidak menyimpan rekaman audio sama sekali.

7.Email

Kami hanya mengirim email transaksional, melalui SMTP Google (Gmail):

  • verifikasi email saat mendaftar (tautan berlaku 30 menit);
  • reset password (tautan berlaku 15 menit);
  • balasan laporan, hanya bila Anda memintanya.

Tidak ada newsletter atau email promosi. Token pada tautan email disimpan hanya sebagai hash SHA-256, dan pengiriman ulang dibatasi jedanya.

8.Data teknis dan keamanan

  • Alamat IP dipakai untuk membatasi percobaan login, pendaftaran, pengiriman email, laporan, dan tindakan sensitif lain. Penghitungnya hanya menyimpan hash HMAC-SHA256 dari IP, email, atau ID akun, bukan nilai aslinya. Alamat IP tidak disimpan mentah di database.
  • Pada form yang dijaga Cloudflare Turnstile, token tantangan dan alamat IP Anda dikirim ke Cloudflare untuk diverifikasi.
  • User agent diringkas menjadi label perangkat (misalnya "Chrome di macOS") untuk daftar perangkat aktif di Profil > Keamanan. User agent lengkap hanya disimpan pada laporan yang Anda kirim.
  • Log aplikasi kami menyamarkan kolom seperti email, username, nama tampilan, alamat IP, ID akun, password, dan token sebelum dicatat. Penyedia hosting dapat mencatat log permintaan teknis sendiri sesuai kebijakannya.

Langkah keamanan lain: cookie session yang tidak dapat dibaca JavaScript, registry session yang dapat dicabut per perangkat, pencabutan semua session saat password diganti atau direset, dan akses database hanya dari server aplikasi. Tidak ada sistem yang aman sepenuhnya. Bila terjadi kegagalan pelindungan data pribadi, kami akan memberi tahu sesuai kewajiban UU PDP.

10.Analytics dan pelacakan

Nihongofy tidak memasang analytics pihak ketiga, pixel iklan, atau skrip pelacak, dan tidak menjual data pribadi. Menu "Analytics" di aplikasi adalah statistik belajar Anda sendiri yang dihitung dari data di bagian Data belajar. Font aplikasi di-host bersama aplikasi, bukan dimuat dari layanan font pihak ketiga.

11.Tujuan dan dasar pemrosesan

Dasar pemrosesan mengacu pada UU PDP.

Tujuan dan dasar pemrosesan data
TujuanDataDasar pemrosesan
Membuat dan menjalankan akun, menyimpan progres belajarData akun, data belajarPemenuhan perjanjian (Syarat & Ketentuan)
Mengirim email verifikasi dan reset passwordEmailPemenuhan perjanjian
Menampilkan entri di diskusi publikIsi entri, nama tampilan, username, avatarPersetujuan, yang Anda berikan dengan membagikan atau menulis di diskusi
Menyimpan transkrip percakapan AIIsi percakapanPersetujuan (opt-in di Profil > Privasi)
Membalas laporan lewat emailEmail balasanPersetujuan (mengisi atau mencentang opsi balasan)
Keamanan, pencegahan penyalahgunaan, dan moderasiHash IP dan email, data session, Turnstile, log auditKepentingan yang sah untuk menjaga layanan dan penggunanya

Persetujuan dapat Anda tarik kapan saja: menarik entri ke privat, mematikan penyimpanan percakapan, atau menghapus akun. Penarikan tidak memengaruhi pemrosesan yang sudah terjadi sebelumnya.

12.Pihak ketiga yang memproses data

Kami memakai penyedia berikut untuk menjalankan layanan. Mereka memproses data hanya sejauh yang diperlukan untuk fungsinya masing-masing.

Pemroses data pihak ketiga
PenyediaUntuk apaData yang terlibat
VercelHosting aplikasi dan penjadwal tugas harianSeluruh permintaan ke aplikasi, termasuk alamat IP dan user agent
SupabaseDatabase PostgreSQL, region Singapura (AWS ap-southeast-1)Data akun, data belajar, catatan dan diskusi, laporan, percakapan yang disimpan
UpstashRedis untuk session, transaksi login Google, titipan jawaban tamu, jeda email, dan batas tulis diskusiID session, label perangkat, waktu aktivitas, ID akun, jawaban tamu (maks. 24 jam)
CloudflareR2 untuk avatar dan gambar lampiran; Turnstile untuk verifikasi botFile gambar; token Turnstile dan alamat IP
Google (Gmail)Pengiriman email transaksionalAlamat email penerima dan isi email
OpenAI, melalui gateway API milik pengelolaBalasan dan koreksi percakapan AI, bila fitur tersediaTeks percakapan, tanpa identitas akun
GoogleLogin dengan Google, bila Anda memilihnyaGoogle mengetahui bahwa Anda masuk ke Nihongofy; foto profil Google dimuat dari server Google
CloudinaryMedia bank soal lama (audio dan gambar soal) dan avatar lama, hanya dibacaBrowser Anda memuat file langsung dari Cloudinary, sehingga Cloudinary menerima alamat IP dan user agent

Sebagian penyedia di atas menyimpan atau memproses data di luar wilayah Indonesia. Transfer tersebut dilakukan untuk menjalankan layanan sebagaimana dijelaskan di sini. Kami tidak menjual atau menyewakan data pribadi, dan hanya mengungkapkannya kepada pihak lain bila diwajibkan oleh hukum.

13.Berapa lama data disimpan

Masa simpan data
DataMasa simpan
Akun dan data belajarSelama akun aktif; dihapus saat penghapusan akun dijalankan
Session login7 hari. Maksimal 20 perangkat aktif per akun; yang tertua dicabut otomatis
Tautan verifikasi email dan reset password30 menit dan 15 menit; token kedaluwarsa dibersihkan tugas harian
Transaksi login Google dan bukti verifikasi ulang10 menit dan 5 menit, sekali pakai
Titipan jawaban ujian tamu24 jam, atau sampai diklaim ke akun
Hasil ujian dan latihan tamuTidak disimpan di server; hanya di tab browser
Penghitung pembatas percobaan (hash IP atau email)Dihapus 7 hari setelah aktivitas terakhir; jeda kirim email 60 detik
Email balasan laporanDikosongkan 90 hari setelah laporan ditutup
Isi laporanTidak dihapus otomatis; disimpan sebagai riwayat perbaikan
Transkrip percakapan yang disimpanSampai sesi atau akun Anda hapus
Catatan dan entri diskusi yang dihapusTidak ditampilkan, tetapi isinya masih tersimpan di database; gambar lampiran tidak dihapus otomatis
Avatar yang diganti atau dilepasDihapus dari R2; upload yang tidak terpakai dibersihkan setelah 2 jam
Log audit tindakan adminDisimpan permanen sebagai catatan akuntabilitas

14.Penghapusan akun

Anda dapat menghapus akun dari Profil > Privasi dengan mengetik frasa HAPUS AKUN dan memasukkan password, atau memverifikasi ulang akun Google bila akun Anda tidak memiliki password.

  • Semua session di semua perangkat langsung dicabut.
  • Ada masa tunggu 7 hari. Selama masa itu Anda dapat login dan membatalkan penghapusan. Setelah masa tunggu lewat, login ditolak.
  • Penghapusan dijalankan oleh tugas terjadwal harian setelah masa tunggu berakhir.

Yang dihapus

Progres kana, seluruh data flashcard (kartu, riwayat review, langganan deck, dan pengaturan), latihan cepat, attempt ujian, interaksi artikel, sesi dan pemakaian percakapan, token email, koneksi akun Google, dan file avatar di R2.

Yang dianonimkan atau tetap ada

  • Baris akun tidak dihapus, melainkan dianonimkan: nama tampilan menjadi "Pengguna dihapus", email, password, dan avatar dikosongkan, dan preferensi dikembalikan ke bawaan. Username diganti menjadi <username lama>_<waktu>_deleted, sehingga username lama tetap tercatat di dalamnya. Email yang sama dapat dipakai mendaftar lagi.
  • Catatan dan entri diskusi Anda di-soft-delete. Thread yang sudah dibalas orang lain tetap ada dengan penanda "telah dihapus", dan balasan orang lain tetap tampil karena merupakan tulisan mereka. Isi entri Anda masih tersimpan di database tanpa ditampilkan, dan gambar lampiran tidak dihapus otomatis.
  • Laporan yang pernah Anda kirim tetap disimpan, tetapi tautannya ke akun dan alamat email balasannya dikosongkan.
  • Bila Anda admin, log audit tindakan Anda dipertahankan dengan nama "Pengguna dihapus".
  • Avatar yang diunggah sebelum penyimpanan pindah ke Cloudflare R2 masih berada di Cloudinary dan tidak terhapus otomatis. Hubungi kami bila Anda ingin file itu dihapus.

15.Hak Anda dan cara menjalankannya

Sebagai subjek data pribadi menurut UU PDP, Anda berhak antara lain atas informasi tentang pemrosesan, akses dan salinan data, perbaikan, penghapusan, penarikan persetujuan, keberatan, penundaan atau pembatasan pemrosesan, dan pemindahan data.

Cara menjalankan hak subjek data
HakCara
Mendapat salinan dataTombol Unduh JSON di Profil > Privasi (/api/account/export). Isinya: profil dan preferensi, koneksi Google, status pembatasan posting, progres kana, flashcard, attempt, latihan cepat, catatan dan entri diskusi, interaksi artikel, dan laporan yang Anda kirim. Tidak termasuk password, token, session, data pembatas percobaan, catatan internal admin, dan saat ini data percakapan AI.
Memperbaiki dataNama tampilan, username, avatar, dan zona waktu di Profil > Info; password dan koneksi Google di Profil > Keamanan. Email tidak dapat diubah dari aplikasi; hubungi kami bila perlu.
Menghapus dataHapus catatan atau entri, hapus sesi percakapan, atau hapus akun (lihat bagian Penghapusan akun)
Menarik persetujuanTarik entri diskusi ke privat, atau matikan penyimpanan percakapan di Profil > Privasi
Keberatan, pembatasan, atau permintaan lainKirim permintaan ke contact@lans.my.id. Kami dapat meminta verifikasi bahwa permintaan berasal dari pemilik akun.

Anda juga dapat menyampaikan pengaduan kepada lembaga penyelenggara pelindungan data pribadi sesuai UU PDP.

16.Pengguna di bawah umur

Layanan ini ditujukan untuk pengguna berusia minimal 13 tahun. Pengguna yang belum berusia 18 tahun tergolong anak menurut hukum Indonesia, dan sesuai UU PDP pemrosesan data pribadi anak memerlukan persetujuan orang tua atau wali. Karena itu pengguna berusia di bawah 18 tahun hanya boleh mendaftar dan memakai layanan dengan persetujuan orang tua atau wali. Bila Anda orang tua atau wali dan mengetahui anak Anda memakai layanan ini tanpa persetujuan, hubungi contact@lans.my.id agar akunnya dapat kami tindak lanjuti, termasuk dihapus.

17.Perubahan kebijakan

Kami dapat memperbarui kebijakan ini saat cara aplikasi memproses data berubah. Versi dan tanggal pembaruan selalu tercantum di bagian atas halaman ini. Untuk perubahan yang berarti, kami akan berupaya memberi tahu lewat aplikasi atau email sebelum perubahan berlaku.

18.Kontak

Pengelola: Pengelola Nihongofy. Email: contact@lans.my.id.

Baca juga Syarat & Ketentuan.