Kebijakan Privasi — Nalarix
Versi: 2.1
Berlaku sejak: sejak tanggal publikasi resmi di nalarix.id (tanggal diisi saat go-live L1 — lihat ADR-0025 / D061)
Terakhir diperbarui: 2026-05-16
Pengendali Data: Yulandari Ardiningsih (penyelenggara & pemilik Nalarix, Indonesia)
Kontak: support@nalarix.id
Catatan revisi v2.1 (2026-05-16): Penyesuaian identitas Pengendali Data menjadi Yulandari Ardiningsih dan alamat kontak menjadi
support@nalarix.id, sebagai konsekuensi penetapan entitas penyelenggara untuk onboarding pembayaran (keputusan A043; lihat NALARIX-AMBIGUITY-REGISTRY.md). Tidak ada perubahan pada kategori data, dasar hukum pengolahan, hak Subjek Data, periode retensi, pemaskeran IP, sub-processor, maupun SLA respons (tetap 14 hari kerja). Karena Layanan belum publik saat revisi ini (publikasi L1-gated), versi ini merupakan baseline yang diterbitkan pada go-live L1 — tidak ada perubahan retroaktif terhadap pengguna existing.
Catatan revisi v2: Versi ini memperluas Kebijakan Privasi v1.0 (2026-04-22) sebagai konsekuensi penerapan kebijakan pembatasan perangkat dan model perangkat tepercaya (ADR-0021 — Account Device Limitation & Trusted Device Model, live sejak 13 Mei 2026 03:05 UTC). Kategori data baru yang ditambahkan: device-id hash, refresh-token cookie, OTP challenge hash, security event log, alamat IP termasker, dan user agent. Periode retensi baru ditetapkan untuk data keamanan. Tidak ada perubahan pada dasar hukum pengolahan atau hak Subjek Data. Versi sebelumnya tersedia di
docs/legal/privacy-v1-2026-04-22.md(repositori).
1. Pendahuluan
Nalarix ("kami", "Layanan") adalah platform tryout CPNS diagnostik berbayar yang beroperasi di nalarix.id. Kebijakan Privasi ini menjelaskan jenis data pribadi yang kami kumpulkan, bagaimana kami menggunakannya, dasar hukum pengolahannya, dan hak Anda sebagai Subjek Data berdasarkan Undang-Undang No. 27 Tahun 2022 tentang Pelindungan Data Pribadi (UU PDP).
Dengan menggunakan Layanan, Anda menyetujui pengolahan data pribadi Anda sebagaimana diuraikan dalam dokumen ini. Versi ini berlaku menggantikan v1.0 sejak tanggal "Berlaku sejak" di atas.
2. Data Pribadi yang Kami Kumpulkan
2.1 Data yang Anda Berikan Langsung
- Profil Google OAuth: nama lengkap, alamat email, foto profil (avatar)
- Data latar belakang: umur, tingkat pendidikan (education background)
- Riwayat percobaan (attempt history): jawaban soal, skor, waktu pengerjaan, pola kelemahan per sub-topik
- Label perangkat (device label): nama perangkat yang Anda berikan/edit secara opsional (mis. "Laptop Rumah") untuk membantu Anda mengenali perangkat tepercaya di daftar (Tahap 2)
2.2 Data yang Dikumpulkan Secara Otomatis
- Alamat IP — disimpan dalam bentuk termasker: oktet ke-4 di-nol-kan untuk IPv4 (
/24, contoh203.0.113.45→203.0.113.0) dan tiga segmen pertama dipertahankan untuk IPv6 (/48, sisanya nol). Masking dilakukan saat penulisan (storage time), bukan saat kueri. Alamat IP penuh tidak pernah disimpan. - User agent (informasi browser + sistem operasi) — disimpan apa adanya untuk mengenali perangkat dan investigasi insiden keamanan
- Session cookies (Auth.js JWT — HTTP-only, Secure, SameSite=Lax) — lihat §10 Kebijakan Cookie
- Log server (request path, response status, timestamp) — retensi 30 hari
2.3 Data Perangkat & Sesi (BARU — per ADR-0021)
Sebagai bagian dari kebijakan pembatasan perangkat (maks. 2 perangkat tepercaya per akun) dan model perangkat tepercaya, kami mengumpulkan:
- Device-id hash — pengenal perangkat acak 256-bit yang dihasilkan di sisi server dan disimpan sebagai cookie
__nalarix-diddi perangkat Anda. Yang kami simpan di basis data adalah hash SHA-256 dari nilai cookie tersebut (opaque, non-PII). Berfungsi sebagai pengenal stabil perangkat-Anda agar Anda tidak perlu verifikasi OTP berulang. - Refresh-token cookie (
__Secure-nalarix-rt) — token rotasi 14 hari yang memperpanjang sesi tanpa mengulang login OAuth. Yang disimpan di basis data adalah hash token, bukan token mentahnya. - OTP challenge hash (
DeviceVerificationChallenge.codeHash) — kode verifikasi 6 digit dikirim via email saat Anda login dari perangkat baru disimpan sebagai HMAC-SHA256 dengan pepper rahasia di sisi server. Kode mentah tidak pernah disimpan di basis data. - Security event log (
SecurityEvent) — catatan peristiwa keamanan akun: login sukses/gagal, perangkat baru ditambahkan, OTP dikirim/diverifikasi, perangkat dicabut, percobaan deteksi replay token, dll. Setiap rekaman memuat: userId, jenis peristiwa, trustedDeviceId (opsional), IP termasker, user agent, timestamp. - Trusted device record — untuk tiap perangkat tepercaya kami menyimpan: label perangkat, device-id hash, user agent awal & terakhir, IP termasker pertama & terakhir, waktu terakhir terlihat (lastSeenAt), status (TRUSTED / PENDING / REVOKED).
Tujuan: mencegah penyalahgunaan akun (account sharing, credential stuffing), memberi Anda kontrol pencabutan perangkat dari jarak jauh (Tahap 2), dan menyediakan jejak audit yang dapat diverifikasi.
2.4 Data Pihak Ketiga
Kami tidak mengumpulkan data pembayaran Anda secara langsung. Transaksi pembayaran diproses oleh Midtrans (PT Midtrans Digital Perkasa) sebagai payment gateway resmi, yang memiliki Kebijakan Privasi-nya sendiri. Kami hanya menerima transaction ID, status pembayaran, dan metadata minimum yang diperlukan untuk memverifikasi pembelian.
3. Dasar Hukum Pengolahan (UU PDP Pasal 20)
Kami mengolah data pribadi Anda berdasarkan:
- Persetujuan (Pasal 20 ayat 2 huruf a) — untuk data latar belakang dan preferensi
- Pelaksanaan perjanjian (Pasal 20 ayat 2 huruf b) — untuk akun, pembelian, dan akses layanan
- Kepentingan yang sah (Pasal 20 ayat 2 huruf f) — untuk keamanan, pencegahan penyalahgunaan, dan analisis agregat anonim. Data perangkat & sesi (§2.3) diolah berdasarkan dasar ini untuk melindungi akun Anda dan menjaga integritas akademis Layanan.
4. Tujuan Pengolahan Data
Kami menggunakan data Anda untuk:
- Mengautentikasi dan mengelola akun Anda
- Menyediakan layanan tryout, diagnostik, dan rekomendasi drill
- Memproses pembelian dan mengelola akses berbayar (30 hari)
- Menghasilkan laporan diagnostik personal (radar 18 sub-topik, riwayat)
- Meningkatkan kualitas Bank Soal dan akurasi diagnostik (agregat, tanpa personally identifiable information)
- (BARU) Membatasi jumlah perangkat tepercaya per akun (maks. 2) untuk mencegah penyalahgunaan akses
- (BARU) Mengirim email verifikasi sekali pakai (OTP) saat Anda login dari perangkat baru
- (BARU) Mendeteksi anomali keamanan (token replay, percobaan login mencurigakan, perilaku churn perangkat) dan memberi Anda kontrol pencabutan perangkat dari jarak jauh (Tahap 2)
- Menjawab pertanyaan dan keluhan pengguna
- Mematuhi kewajiban hukum (pajak, audit, respons permintaan otoritas)
5. Pihak yang Memiliki Akses ke Data Anda
- Pemilik Nalarix — akses penuh untuk operasional
- Tim admin terbatas (saat closed beta: hanya whitelist yang disetujui) — akses terbatas sesuai role:
SUPER— akses penuhREVIEWER— akses Bank Soal (tanpa data pengguna)MARKETING— akses statistik agregat (tanpa data pengguna)
- Sub-processor / Penyedia infrastruktur:
- Hostinger (KVM VPS, Singapura) — hosting server
- Google LLC — (1) OAuth authentication; (2) (BARU) Google Workspace SMTP Relay untuk transactional email delivery OTP perangkat. Kami hanya mengirim alamat email Anda dan isi email OTP; pemrosesan tunduk pada Google Workspace Data Processing Amendment (DPA) dan kebijakan retensi Google yang berlaku.
- Midtrans (PT Midtrans Digital Perkasa) — payment gateway
- Otoritas berwenang — hanya jika ada perintah pengadilan atau permintaan sah berdasarkan hukum
Kami tidak menjual data pribadi Anda kepada pihak ketiga mana pun. Kami tidak menggunakan data Anda untuk pelatihan model AI pihak ketiga.
6. Retensi Data
| Jenis Data | Retensi | Mekanisme |
|---|---|---|
| Profil akun (nama, email, OAuth) | Selama akun aktif + 2 tahun setelah deactivation | Manual saat permintaan penghapusan |
| Riwayat percobaan | Selama akun aktif + 2 tahun (untuk analisis diagnostik) | Manual |
| Data latar belakang (umur, pendidikan) | Selama akun aktif | Manual |
| Log server | 30 hari | Otomatis (logrotate) |
| Data pembayaran (transaction ID) | 10 tahun (kewajiban pajak) | Manual |
| Audit log admin | 5 tahun (kepatuhan internal) | Manual |
SecurityEvent (BARU) |
90 hari | Cron harian |
TrustedDevice yang dicabut/REVOKED (BARU) |
30 hari lalu hard delete | Cron harian (cascade ke RefreshToken anak) |
RefreshToken yang dicabut atau kedaluwarsa (BARU) |
30 hari | Cron harian |
DeviceVerificationChallenge (OTP) (BARU) |
24 jam — berlaku untuk yang sudah dipakai (consumed) maupun yang kedaluwarsa | Cron tiap jam |
TrustedDevice aktif (BARU) |
indefinite (manual cleanup kalau tidak aktif > 2 tahun) | Manual |
Setelah periode retensi, data akan dihapus atau dianonimkan secara permanen.
7. Pemaskeran IP (BARU)
Alamat IP tidak pernah disimpan dalam bentuk penuh. Pemaskeran dilakukan saat penulisan ke basis data (storage time), bukan saat kueri (query time) — artinya basis data sendiri tidak pernah memiliki IP lengkap, sehingga tidak ada jalur kueri internal yang dapat mengungkapnya.
- IPv4 — oktet ke-4 di-nol-kan (
/24). Contoh:203.0.113.45→203.0.113.0. - IPv6 — tiga segmen pertama (48 bit) dipertahankan, sisanya nol (
/48). Contoh:2001:db8:abcd:1234::1→2001:db8:abcd::.
Tujuan: menyimpan granularitas yang cukup untuk geolokasi kasar (kota/ISP) dan investigasi insiden, tanpa menyimpan PII tingkat individu. Semua jalur penulisan (TrustedDevice, SecurityEvent) menggunakan fungsi maskIp() yang sama.
8. Hak Subjek Data (UU PDP Pasal 5-16)
Anda memiliki hak untuk:
- Akses — meminta salinan data pribadi Anda (termasuk daftar
TrustedDevicedanSecurityEventterkait akun Anda) - Koreksi (rectify) — meminta perbaikan data yang tidak akurat (termasuk label perangkat)
- Penghapusan (right to be forgotten) — meminta data Anda dihapus (kecuali yang wajib disimpan secara hukum)
- Pembatasan — meminta pembatasan pengolahan
- Portabilitas — meminta data dalam format yang dapat dibaca mesin
- Penolakan — menolak pengolahan berbasis kepentingan sah
- Penarikan persetujuan — menarik persetujuan yang telah diberikan
- (BARU) Pencabutan perangkat dari jarak jauh — saat fitur dashboard perangkat tersedia (Tahap 2 ADR-0021), Anda dapat mencabut perangkat tepercaya sendiri secara mandiri. Sementara fitur belum live, ajukan via email.
Ajukan permintaan ke support@nalarix.id dengan subjek "[PDP Request]
9. Keamanan Data
Kami menerapkan langkah teknis dan organisasional yang wajar:
- Enkripsi TLS 1.3 untuk semua komunikasi (
nalarix.id) - Session cookies HTTP-only + Secure + SameSite=Lax/Strict (lihat §10)
- Password-less authentication (Google OAuth — tidak ada password yang kami simpan)
- (BARU) OTP perangkat di-HMAC-SHA256 dengan server-side pepper 256-bit, sehingga tidak dapat di-brute-force meski basis data bocor
- (BARU) Refresh token di-hash sebelum disimpan; raw token hanya ada di cookie sisi klien
- (BARU) Deteksi token replay — penggunaan ulang token yang sudah dirotasi memicu pencabutan instan seluruh chain token (family revoke)
- (BARU) Forced-logout global dapat dipicu via
User.tokenVersion(latensi maksimal 15 menit) - Database Postgres terisolasi, bind
127.0.0.1(tidak publik) - Akses admin ter-audit via
AdminAuditLog(ADR-0012 §M5) - Backup harian terenkripsi ke off-site storage (Google Drive)
10. Kebijakan Cookie
Kami menggunakan cookie berikut. Semua cookie bersifat esensial untuk operasi Layanan — kami tidak menggunakan cookie pelacakan pihak ketiga, analytics pixel, atau cookie iklan.
| Cookie | Tujuan | Lifetime | Atribut |
|---|---|---|---|
authjs.session-token / __Secure-authjs.session-token |
Sesi autentikasi (JWT Auth.js v5) | Sesi browser (15 menit JWT, di-refresh otomatis) | HTTP-only, Secure (prod), SameSite=Lax |
authjs.csrf-token |
Anti-CSRF Auth.js | Sesi browser | HTTP-only, Secure (prod), SameSite=Lax |
authjs.callback-url |
URL redirect setelah login | Sesi browser | HTTP-only, Secure (prod) |
__nalarix-did / nalarix-did (BARU) |
Pengenal perangkat acak 256-bit untuk perangkat-tepercaya | 2 tahun | HTTP-only, __Host- prefix (prod, Path=/), SameSite=Lax |
__Secure-nalarix-rt / nalarix-rt (BARU) |
Refresh token sesi (rotasi 14 hari) | 14 hari sliding | HTTP-only, Secure (prod), Path=/api/auth, SameSite=Strict |
Detail teknis cookie matrix ada di ADR-0021 §Cookie Matrix.
11. Kebijakan Email (BARU)
Kami mengirim email hanya untuk keperluan transaksional, melalui sub-processor Google Workspace SMTP Relay (lihat §5):
- Verifikasi perangkat (OTP) — kode 6 digit dengan validitas 10 menit dan maksimum 5 percobaan. Dikirim saat Anda login dari perangkat baru. Tombol "kirim ulang" memiliki cooldown sisi server 60 detik per challenge.
- (Opsional, jika diaktifkan kemudian) Notifikasi keamanan akun (mis. perangkat baru ditambahkan, sign-out jarak jauh).
Kami tidak mengirim email marketing, newsletter, atau promosi. Tidak ada opt-in / opt-out untuk email transaksional karena diperlukan untuk keamanan akun — jika Anda menutup akun, pengiriman otomatis berhenti.
- Sender address —
noreply@nalarix.id - Reply-to —
support@nalarix.id(di-rutekan ke kotak surat operasional Workspace; jeda respons sama seperti pengendali data). - DKIM + SPF + DMARC dikonfigurasi untuk domain
nalarix.id.
12. Pelanggaran Data (Data Breach)
Berdasarkan UU PDP Pasal 46, jika terjadi kegagalan pelindungan data pribadi yang berisiko tinggi, kami akan:
- Memberitahu Subjek Data terdampak dan Otoritas PDP dalam 3 × 24 jam sejak kegagalan diketahui
- Menjelaskan sifat pelanggaran, data yang terdampak, dan langkah mitigasi
Detail prosedur di docs/runbooks/0003-incident-response.md.
13. Anak di Bawah Umur
Layanan ditujukan untuk pengguna berusia ≥ 17 tahun (usia minimum pendaftaran CPNS). Jika Anda mengetahui anak di bawah 17 tahun telah memberikan data pribadi tanpa persetujuan orang tua, hubungi kami untuk penghapusan.
14. Transfer Data Lintas Batas
Server kami berada di Singapura (Hostinger KVM). Pemrosesan email transaksional oleh Google Workspace SMTP Relay dan data OAuth oleh Google (server global, terutama AS/UE/Asia). Pemrosesan pembayaran oleh Midtrans di Indonesia. Dengan menggunakan Layanan, Anda menyetujui transfer data lintas batas ini sesuai UU PDP Pasal 56.
15. Perubahan Kebijakan
Kami dapat memperbarui Kebijakan Privasi ini sewaktu-waktu. Perubahan material akan diumumkan di halaman /privacy dengan tanggal "Terakhir diperbarui" yang baru, dan, untuk perubahan yang signifikan terhadap kategori data atau dasar hukum, melalui consent banner saat login pertama setelah deploy. Penggunaan berkelanjutan setelah perubahan berarti Anda menyetujui versi yang diperbarui.
16. Kontak
Pengendali Data (Data Controller): Yulandari Ardiningsih
Email: support@nalarix.id
Jam operasional respons: Senin–Jumat, 09:00–17:00 WIB (di luar jam tersebut & libur nasional: best-effort; tidak mengubah SLA 14 hari kerja untuk permintaan hak subjek data)
Subjek email: [PDP Request] untuk permintaan hak subjek data, [Privacy] untuk pertanyaan umum
Dokumen terkait & referensi:
- Versi sebelumnya:
docs/legal/privacy.md(v1.0, 2026-04-22) - Ketentuan Layanan:
/terms - Kebijakan Refund:
/refund - Pedoman Keamanan:
SECURITY.md - Kepatuhan UU PDP:
docs/legal/uu-pdp-compliance.md - ADR-0021 — Account Device Limitation & Trusted Device Model (
docs/adr/0021-account-device-limitation-and-trusted-device-model.md), khususnya §Privacy & Retention dan §Cookie Matrix - UU No. 27 Tahun 2022 tentang Pelindungan Data Pribadi (UU PDP) — Pasal 5-16 (hak Subjek Data), Pasal 20 (dasar hukum), Pasal 35-38 (keamanan), Pasal 43 (retensi), Pasal 46 (pelanggaran), Pasal 56 (transfer lintas batas)