Postur keamanan
Dibangun untuk kepercayaan, bukan untuk pamer
Kami bukan perusahaan keamanan, tapi ConKarma menangani jenis data — anak-anak, pasangan, ritual harian — yang menuntut jawaban jujur tentang cara kami melindunginya. Halaman ini versi tanpa hiasan.
Terakhir ditinjau:
Cara sign-in bekerja
Kami memperlakukan password Anda sebagai rahasia yang tidak pernah kami lihat dalam cleartext, menyimpan hash terkuat yang spec berikan, dan merotasi refresh token agar cookie yang dicuri tidak hidup lebih lama dari sesi asalnya.
- Password di-hash dengan argon2id (profil RFC 9106 m=19 MiB). Hash bcrypt lama diupgrade transparan saat sign-in berikutnya — tanpa reset paksa.
- Sesi pakai famili refresh token yang berputar. Jika token curian diputar ulang, seluruh famili invalid dan perangkat sah harus re-auth — tanpa kompromi diam-diam.
- Lockout akun yang dapat dikonfigurasi setelah percobaan gagal berulang. Otomatis bersih saat sign-in pertama yang benar — typo tidak akan mengunci Anda keluar.
- Sign in with Apple dan Sign in with Google menggunakan OpenID Connect langsung — goia_api terhubung sendiri ke Apple dan Google, tanpa perantara autentikasi pihak ketiga di jalurnya. Kami hanya menerima identifier penyedia hulu, email kamu, dan flag terverifikasi — tidak pernah kata sandi penyediamu.
Keamanan saat masuk
Setiap proses masuk melewati faktor kedua. Setiap masuk dari perangkat baru memberi peringatan. Orang tua tetap mengetahui untuk yang di bawah 18 tanpa hal lain merembes.
- Autentikasi dua faktor pada setiap masuk: kode 6 digit via email, jendela 30 hari untuk perangkat tepercaya.
- Peringatan email real-time saat akun diakses dari perangkat baru: jenis, kota dan negara perkiraan, waktu. Satu ketukan mencabut perangkat dan memaksa atur ulang sandi.
- Masuk dari yang di bawah 18 dari perangkat baru juga memberi peringatan kepada anggota berperan orang tua di sel mereka. Transparan: yang di bawah umur melihat di Setelan orang tua mana yang terhubung.
- Kode cadangan: 8 kode sekali pakai pada pengaturan pertama, dapat diakses dari Setelan → Keamanan, regenerasi sesuai permintaan. Jalur pemulihan saat akses email hilang.
- Penyimpanan kata sandi: argon2id, hash memory-hard standar industri. Token perangkat tepercaya terpisah dari token sesi.
- Verifikasi terbatas: 5 kode gagal memicu kunci 15 menit.
Saat sesuatu terlihat aneh
Jika sign-in datang dari negara yang tidak kami lihat di akun Anda dalam 30 hari terakhir, kami kirim email. Email berisi 'ini bukan saya' satu klik yang mencabut sesi dan membawa Anda langsung ke reset password.
- Peringatan email lokasi tidak dikenal (satu per negara per jendela 30 hari — liburan tidak akan menge-spam Anda).
- Daftar sesi aktif dengan revoke per perangkat dari dalam aplikasi. Anda bisa sign out telepon yang hilang tanpa mengganti password.
- Detail sign-in gagal (timestamp dan kode negara saja — tidak pernah IP mentah) terlihat di log keamanan aplikasi.
Hanya aplikasi asli
Lalu lintas mobile diatestasi sebagai datang dari instalasi ConKarma asli di perangkat asli. Percobaan curl-melawan-API ditolak halus — itu yang harus dilakukan permukaan API yang jujur.
- Firebase App Check di iOS dan Android. Token wajib di setiap panggilan API dari mobile.
- TLS pinning mobile via manifest bertanda di /.well-known/mobile-pins.json. Pin baru ditandatangani dengan kunci offline dan dirotasi dengan jendela tumpang tindih enam minggu — pembaruan tidak akan mengunci siapa pun keluar.
Fitur dewasa terlarang bagi analitik
ConKarma punya dua zona: zona Serene (semua ramah keluarga) dan zona Ember (fitur 18+). Halaman Ember sengaja tidak menembakkan event analitik pihak ketiga. Kami mengumpulkan counter Prometheus agregat di sisi server untuk kapasitas dan uptime; tidak lebih.
- Permukaan dewasa (dare, hasrat, fantasi, jurnal intim, brankas pribadi) tidak pernah memuat Google Analytics.
- Buka biometrik wajib untuk masuk permukaan Ember di aplikasi. Sistem akan timeout dan mengunci kembali jika Anda berpindah aplikasi.
- Pelindung tangkapan layar menyembunyikan konten Ember dari pengalih aplikasi OS dan setiap overlay perekaman layar.
- Aktivasi zona dewasa per perangkat: default NYALA di perangkat utama Anda, MATI di setiap perangkat lain. Anda opt-in secara eksplisit per perangkat, dan pemeriksaan sisi server gagal-tertutup (fail closed).
- Permintaan ulang saat tidak aktif: kunci biometrik lepas setelah 5 menit tidak aktif di dalam Ember, atau 30 detik berada di latar belakang. Keduanya dapat dikonfigurasi dari Pengaturan → Privasi.
- Pemberhentian cache memori: saat Anda berpindah dari Ember kembali ke Serene (atau aplikasi ke latar belakang), setiap gambar yang di-cache dibuang dari memori — pertahanan berlapis terhadap alat inspeksi memori.
- Pengecualian Spotlight, Apple Intelligence, dan AppIntents: tidak ada konten dewasa yang pernah didonasikan ke Spotlight, LLM on-device, AppIntents, Smart Stack, atau widget Lock Screen.
- Akses admin empat mata: tidak ada manusia di XTZ Group yang dapat membaca konten zona dewasa secara sepihak — setiap override membutuhkan persetujuan tertandatangani dari admin kedua, dicatat dalam log audit yang tidak dapat diubah.
- Retensi dewasa 3 tahun yang dapat dikonfigurasi: baris zona dewasa dihapus otomatis setelah 3 tahun secara default. Jendela ini dapat dikonfigurasi pengguna (90 hari hingga 10 tahun) dari Pengaturan → Privasi. Penghapusan permanen begitu jendela berakhir.
- Kontrol Cadangan iCloud dan ekspor GDPR: dua saklar opt-in di Pengaturan → Privasi membuat konten dewasa tetap di luar cadangan perangkat dan di luar ekspor data Anda secara default — sehingga cadangan atau ekspor yang tidak sengaja dibagikan tidak mengungkapnya.
Infrastruktur persetujuan + alat konflik
Percakapan sulit dan persetujuan di zona dewasa keduanya melalui permukaan terstruktur dan terkurasi — tidak pernah pipa AI. Data tetap lokal atau privat-pasangan.
- Alat konflik — pipa AI dikecualikan: setiap alur perbaikan antar-saudara, pasangan, dan antar-generasi adalah konten terkurasi + formulir terstruktur.
- Infrastruktur persetujuan — Ember: dokumen batas, pengikatan safeword, dan check-in aftercare hidup di primitif E2E Ember. Dokumen batas tidak pernah mencapai pipa AI kami.
- Sembunyikan-pribadi + kontrol tingkat-sel: BE tidak menghapus data dasar. Operasi flag permanen memerlukan gerbang dua admin.
Infrastruktur persetujuan Ember
Permukaan tier dewasa tidak dikirimkan dengan kotak centang generik 'Saya setuju' dan itu disebut persetujuan. Ember distrukturkan di sekitar tiga primitif penting — dokumen batas, safeword, dan check-in aftercare — yang tinggal di keypair E2E yang sama dengan sisa zona dewasa. Framing dewasa sepanjang; agensi, bukan paternalisme.
- Dokumen batas: setiap pasangan membangun dan mengedit miliknya sendiri, hanya dapat dilihat oleh pasangan lain di cell pasangan yang sama. Tidak pernah mencapai pipeline analitik kami; tidak pernah dibaca oleh AI apa pun; tidak pernah direplikasi sisi server di luar blob terenkripsi.
- Pengikatan safeword: satu frasa safeword yang dibagi pasangan yang langsung menurunkan setiap permukaan Ember kembali ke Serene + menulis baris log privat-pasangan. Aktivasi hanya terlihat oleh kedua pasangan; operator XTZ Group tidak dapat membacanya.
- Check-in aftercare: dijadwalkan oleh salah satu pasangan setelah sesi Ember, opt-in per pasangan, jawaban tetap privat-pasangan. Tanpa penghitung keterlibatan, tanpa streak, tanpa omelan.
- Framing dewasa: salinan dan prompt memperlakukan pembaca dewasa sebagai orang dewasa. Kami tidak meremehkan permukaan dengan eufemisme; kami juga tidak bersandar pada nilai syok untuk terasa transgressif.
Pencocokan persetujuan double-blind
Saat dua pasangan menjelajahi kategori fantasi mana yang tumpang tindih, pencocokan berjalan sepenuhnya di perangkat dengan dua invariant struktural yang tidak akan kami langgar: never-reveal-no (jika salah satu pasangan mengetuk tidak, tidak ada yang melihat fakta itu) dan zero-egress AI (tanpa model di mana pun di jalur inferensi).
- Invariant never-reveal-no: pasangan ya/ya muncul di daftar kecocokan bersama. Kombinasi lain apa pun (ya/tidak, tidak/ya, tidak/tidak) tidak mengembalikan apa pun — tidak ada pasangan yang melihat siapa yang berkata tidak, dan tidak ada yang melihat bahwa pasangan lain bahkan ditampilkan prompt. Ini adalah desain struktural anti-tekanan, bukan pengaturan yang bisa kamu matikan.
- Invariant zero-egress AI: komputasi pencocokan adalah irisan set lokal. Tanpa inferensi model, tanpa pencarian embedding, tanpa penilaian AI dari kategori atau pasangan. Set kategori itu sendiri adalah konten editorial yang dikurasi, bukan yang dihasilkan.
- Hasil privat-pasangan: daftar kecocokan dienkripsi end-to-end ke keypair bersama pasangan. Di sisi server kami melihat hitungan (perencanaan kapasitas) tetapi tidak pernah kategorinya sendiri.
- Invariant yang dapat diaudit: dua invariant di atas diterapkan dalam jalur kode di perangkat tanpa sakelar dan tanpa penggantian admin. Operator platform tidak dapat memilih masuk pasangan ke telemetri pada permukaan ini — tidak ada telemetri untuk dipilih masuk.
Kepatuhan Take It Down Act — saluran pemberitahuan publik
TAKE IT DOWN Act federal (2025) mengharuskan platform yang menampung konten pengguna untuk bertindak atas permintaan takedown untuk citra intim non-konsensual dalam 48 jam. Saluran pemberitahuan publik + prosedur ConKarma diterbitkan di /legal/takedown-notice; bagian ini adalah ringkasan postur keamanan.
- Saluran: legal@conkarma.app (baris subjek Pemberitahuan Take It Down / pemberitahuan DMCA / Mendesak — laporan CSAM).
- Komitmen: SLA 48 jam dari penerimaan permintaan yang valid hingga penghapusan atau penonaktifan akses.
- Cakupan: NCII (deepfake nyata atau dibuat AI), hak cipta DMCA, CSAM (prioritas tinggi + laporan NCMEC), dan laporan konten-melanggar-hukum yang lebih luas.
- Pemberitahuan balik: jalur pemberitahuan balik DMCA melalui saluran yang sama; jendela pemulihan 10–14 hari kerja berdasarkan undang-undang tanpa perintah pengadilan.
- Audit: setiap pemberitahuan + setiap tindakan yang diambil dicatat dan disimpan untuk periode yang diwajibkan oleh hukum. Pemberitahuan dengan itikad buruk dapat mengekspos pengirim ke tanggung jawab perdata berdasarkan UU, DMCA §512(f), dan Syarat kami.
Dial regulasi per negara bagian
Di mana negara bagian AS atau yurisdiksi lain mengesahkan undang-undang yang membatasi apa yang dapat ditawarkan platform (rezim verifikasi usia, pembatasan kategori konten, mandat pencatatan), kami menyesuaikan perilaku secara regional daripada mundur dari pasar. Tradeoff yang jujur: undang-undang suatu negara bagian membentuk tampilan permukaan bagi pengguna di negara bagian itu, bukan apa yang kami yakini sebagai desain produk yang benar.
- Deteksi wilayah: berdasarkan negara yang dinyatakan pengguna + (untuk AS) negara bagian yang mereka konfigurasikan di Pengaturan, bukan geolokasi IP saja. Pengguna dapat mengganti wilayah yang disimpulkan jika salah.
- Yang disesuaikan: alur verifikasi usia (negara bagian bergaya KOSA), gerbang konten dewasa, jendela retensi di mana hukum negara bagian mengaturnya, dan salinan pengungkapan di mana negara bagian memerlukan frasa tertentu.
- Yang TIDAK disesuaikan: postur enkripsi end-to-end, invariant zero-egress AI, default sesuai-COPPA untuk di bawah 13 tahun, dan invariant tabel never-mix-adult-content-rows. Hal-hal tersebut tidak bisa dinegosiasi lintas yurisdiksi.
- Transparansi: konfigurasi regional yang diterapkan ke akunmu terlihat di Pengaturan → Privasi → Postur regional. Jika kamu pikir itu salah untuk yurisdiksimu, ajukan pemberitahuan Take It Down atau tulis ke legal@conkarma.app.
Anak-anak bukan tuas pertumbuhan
Akun di bawah 13 melewati alur persetujuan orang tua yang dapat diverifikasi sebelum ada. Kami tidak menampilkan iklan di akun anak, titik. Kami tidak menjual data anak, tidak membagikannya untuk iklan, tidak menggunakannya untuk menargetkan apa pun.
- Persetujuan orang tua yang dapat diverifikasi sesuai COPPA §312.5 (jalur verifikasi pemegang kartu kredit bertanda, dengan alternatif untuk rumah tangga tanpa kartu).
- Tidak ada iklan pihak ketiga apa pun di akun di bawah 13.
- Orang tua dapat melihat, mengekspor, dan menghapus data akun anak mereka kapan saja dari dalam aplikasi.
Kepercayaan datang dari Cell, bukan dari kami
ConKarma adalah produk lingkaran tertutup. Tidak ada profil publik, tidak ada graf pengikut, dan tidak ada cara menemukan orang asing. Sebagian besar moderasi terjadi karena Anda dan orang-orang di Cell Anda sudah saling kenal dan percaya. Ketika model perlu bantuan, kami punya alur laporan dan antrian moderasi dengan manusia di dalamnya.
- Cell tertutup secara default. Tanpa penemuan publik, tanpa profil publik, tanpa saran teman-dari-teman.
- Alur laporan pengguna di setiap permukaan konten, dirutekan ke antrian moderasi yang dikerjakan manusia.
- Pemindaian berbasis hash untuk CSAM yang dikenal dilacak sebagai implementasi diketahui-dan-tertunda, dengan pemicu peninjauan eksplisit saat kami beralih ke profil penyimpanan media yang membutuhkannya. Kami tidak akan mengklaimnya sebelum nyata.
Apa yang kami simpan, di mana, dan bagaimana mengembalikannya
Kami over-dokumentasi ini di /privacy dan /legal/subprocessors, tapi versi pendek yang relevan untuk keamanan: dienkripsi saat istirahat, disimpan di mana paperwork SCC mencakupnya, dapat diekspor dan dihapus on-demand, dan kami tidak menyimpan lebih dari yang dibutuhkan.
- Kontrol ekspor dan penghapusan GDPR, CCPA, dan Quebec-25 ada di dalam aplikasi — bukan di balik tiket support. Penghapusan punya jendela soft-delete 30 hari kalau Anda berubah pikiran.
- Enkripsi saat istirahat di database Postgres dan di object storage (infrastruktur dikelola Supabase).
- Alamat IP mentah tidak disimpan di permukaan yang menghadap pengguna manapun. Daftar sesi aktif hanya menampilkan kode negara 2-huruf; IP mentah ada sebentar di baris event keamanan untuk forensik di bawah retensi pendek.
Kalau Anda menemukan sesuatu, beri tahu kami
Kami belum menjalankan bug-bounty berbayar — itu kekurangan nyata, dan kami akan bergerak begitu sepadan dengan waktu operator yang dibutuhkan. Sementara itu kami menyambut laporan iktikad baik dan akan mengakui dalam lima hari kerja.
Email: security@conkarma.app
- Email security@conkarma.app dengan detail. Kunci PGP atas permintaan.
- Kami berkomitmen mengakui dalam 5 hari kerja dan respons substansial dalam 30 hari.
- Pengungkapan terkoordinasi: jendela default 90 hari sebelum pengungkapan publik, dapat diperpanjang dengan kesepakatan bersama.
- Kami tidak akan menempuh tindakan hukum terhadap penelitian keamanan iktikad baik yang mengikuti pengungkapan bertanggung jawab.