Lewati ke konten

Privasi Data dan Keamanan

Privasi adalah nilai inti DevLingo. Kami menjelaskan secara detail bagaimana data mengalir, di mana disimpan, dan siapa yang dapat mengaksesnya.

Skenario 1: Pencarian Tunggal (Tanpa Sinkronisasi Cloud)

Section titled “Skenario 1: Pencarian Tunggal (Tanpa Sinkronisasi Cloud)”
Langkah 1: Anda memilih "idempotent" di Slack
Langkah 2: Menekan ⌘⇧D
Langkah 3: Aplikasi Mac memeriksa pustaka lokal dan cache
Langkah 4: Jika tidak ditemukan, mengirim query ke Cloudflare Workers (enkripsi HTTPS)
Permintaan berisi:
• Teks yang dipilih: "idempotent"
• Konteks (teks sebelum dan sesudah)
• Identitas aplikasi (Slack)
• Mode: Word
Langkah 5: Workers memanggil Claude API
Langkah 6: Claude mengembalikan hasil JSON terstruktur
Langkah 7: Aplikasi Mac menerima hasil
Langkah 8: Kecuali pengguna mengklik "Simpan", hasil tidak disimpan
(data menghilang setelah jendela mengambang ditutup)
Langkah 1-7: Sama seperti di atas
Langkah 8: Pengguna mengklik "Save to Word Book"
Langkah 9: Data disimpan di SwiftData lokal
(sepenuhnya di perangkat, tidak ke cloud)
Langkah 10: Toggle sinkronisasi buku kata MATI → Selesai (hanya lokal)
Toggle sinkronisasi buku kata HIDUP → Langkah 11
Langkah 11: Perangkat pengguna sinkron ke Cloudflare D1
(database pribadi pengguna, dengan autentikasi)

Teks Tidak Digunakan untuk Pelatihan Model

Section titled “Teks Tidak Digunakan untuk Pelatihan Model”

Penting: Teks apa pun yang dikirim DevLingo melalui Claude API tidak akan digunakan untuk melatih Claude atau model lainnya. Kami mengikuti kebijakan default Anthropic.

✓ Teks Anda digunakan sekali saja
✓ Claude membuangnya segera setelah diproses (tidak disimpan)
✓ Tidak digunakan untuk bentuk data mining apa pun

:::note Cara Verifikasi Semua permintaan API Claude Anthropic ditandai dengan “user=”, menandakan “ini adalah data pengguna akhir, tidak boleh digunakan untuk pelatihan”. :::

Penyimpanan Lokal dengan Sinkronisasi Cloud Mati Secara Default

Section titled “Penyimpanan Lokal dengan Sinkronisasi Cloud Mati Secara Default”

Buku Kata (Word Book) secara default hanya disimpan di Mac Anda, menggunakan SwiftData:

~/Library/Containers/com.devglish.com/Data/
└── default.store/
└── word_entries.db (SQLite lokal)

Database ini bersifat privat per perangkat, hanya aplikasi DevLingo yang dapat mengaksesnya.

Jika Anda ingin menyinkronkan buku kata di beberapa Mac, Anda dapat secara eksplisit mengaktifkan sinkronisasi cloud:

Settings → iCloud Sync → Toggle ON

Setelah diaktifkan, buku kata akan dienkripsi lalu diunggah ke Cloudflare D1:

Enkripsi: Enkripsi sisi klien (Curve25519) → Disimpan di server
Autentikasi: Token JWT pengguna (token keamanan)
Kontrol akses: Setiap pengguna hanya dapat mengakses datanya sendiri
Isolasi: Isolasi tingkat baris database, mencegah akses lintas pengguna

:::caution Transfer Data Setelah mengaktifkan sinkronisasi cloud, jika Anda membatalkan langganan atau menghapus akun, data cloud akan otomatis dihapus setelah 30 hari. SwiftData lokal tidak terpengaruh, tetap ada di perangkat Anda. :::

DevLingo secara ketat mengikuti prinsip “pengumpulan minimal”:

✗ Konten kode (meskipun Anda mungkin menggunakannya di Xcode)
✗ Riwayat browsing lengkap atau riwayat penggunaan aplikasi
✗ Log chat atau konten email
✗ Riwayat Git Anda
✗ File pribadi lainnya di perangkat Anda
✓ Teks yang Anda pilih untuk di-query
✓ 50 karakter konteks sebelum dan sesudah (hanya untuk pemahaman AI)
✓ Bundle Identifier aplikasi saat ini (membantu AI menyesuaikan gaya)
✓ Pengaturan bahasa ibu Anda (untuk tips interferensi L1)
✓ Konten buku kata (hanya jika sinkronisasi cloud diaktifkan secara eksplisit)

Backend DevLingo (Cloudflare Workers) memegang Claude API key. Aplikasi Mac Anda tidak perlu mengekspos key secara langsung, melainkan memproksikan semua permintaan API melalui Workers.

Aplikasi Mac Workers (edge)
↓ (HTTPS) ↓
│── Bearer: user_jwt ────────→ │
│ │
│ (masa berlaku 1 jam) │ (Claude API Key)
│ │
│← Structured Response ←────── Claude API

Keuntungan:

  • Key tidak disimpan secara lokal (tidak akan bocor)
  • Semua panggilan API diproses di edge Cloudflare yang tepercaya
  • Bahkan jika Mac Anda diserang, key tetap aman

Pengguna mendapatkan token JWT jangka pendek (masa berlaku 1 jam) saat login:

Algoritma: HS256 (HMAC SHA-256)
Kunci tanda tangan: Cloudflare Secret (tidak disimpan secara lokal)
Lokasi penyimpanan: macOS Keychain (enkripsi sistem)
Refresh: Otomatis diperbarui saat token hampir kedaluwarsa

Tingkat keamanan Keychain:

Terikat dengan kunci unlock iCloud Mac
Sistem meminta konfirmasi pengguna setiap kali diakses
Bahkan jika seseorang mencuri hard drive Anda, data tidak bisa dibaca

Semua komunikasi dari Mac ke Cloudflare Workers dienkripsi HTTPS:

TLS 1.3 (protokol terbaru)
Sertifikat: LetsEncrypt (pembaruan otomatis)
Perfect Forward Secrecy

Sistem pencarian berlapis DevLingo memastikan Anda dapat menggunakan secara offline:

Dalam mode pesawat, memilih "idempotent"
Mencari pustaka kosakata teknis lokal (85+ kata) → Berhasil!
Hasil langsung ditampilkan, tanpa perlu jaringan

Hanya situasi berikut yang memerlukan jaringan:

✓ Mencari kosakata baru yang tidak ada di pustaka lokal
✓ Menyinkronkan buku kata ke cloud
✓ Mendapatkan cache audio TTS terbaru

95% pencarian lainnya dapat sepenuhnya dilakukan secara offline.

Jika Anda memutuskan untuk menghapus akun DevLingo:

Langkah 1: Settings → Account → Delete Account
Langkah 2: Sistem akan meminta konfirmasi ulang
Langkah 3: Cloudflare menghapus:
• Akun pengguna
• Buku kata cloud
• Riwayat login
• Log penggunaan API
(dihapus sepenuhnya setelah 30 hari)
Langkah 4: Data lokal tidak terpengaruh
(tetap di Mac Anda, Anda yang menghapus sendiri)

:::caution Permanen Setelah akun dihapus, data cloud tidak dapat dipulihkan. Tetapi Anda dapat mengekspor buku kata lokal sebagai CSV dan menyimpannya secara permanen. :::

DevLingo mematuhi peraturan berikut:

WilayahPeraturanStatus
Uni EropaGDPR (Peraturan Perlindungan Data Umum)✓ Patuh
Amerika SerikatCCPA / CPRA✓ Patuh
IndonesiaPerlindungan data✓ Hanya penyimpanan lokal; sinkronisasi cloud menggunakan Cloudflare (opsional)

:::note Petugas Perlindungan Data Jika ada pertanyaan privasi, hubungi [email protected]. Kami merespons dalam 24 jam. :::

Tim engineering DevLingo secara berkala melakukan:

• Audit keamanan kode (OWASP Top 10)
• Pemindaian dependensi (npm audit, Xcode security)
• Pengujian penetrasi (pihak ketiga)
• Audit akses database (siapa mengakses apa)

Laporan audit dipublikasikan secara transparan kepada pengguna setiap kuartal.


Ringkasan: Desain privasi DevLingo mengikuti prinsip “zero trust” — mengasumsikan jaringan dipantau, mengasumsikan perangkat diserang, tetapi melalui enkripsi, autentikasi, dan pengumpulan minimal, memastikan data Anda selalu dalam kendali Anda.