Keamanan di Vaulted
Enkripsi zero-knowledge — kami tidak dapat membaca rahasiamu, bahkan jika kami mau.
Dibuat dan dipelihara oleh Maxim Novak · [email protected]
Jangan percaya kami — verifikasi sendiri
Setiap klaim di halaman ini dapat diamati dari browsermu sendiri. Buka DevTools, jalankan empat tes singkat, dan konfirmasi bahwa tidak ada plaintext dan tidak ada kunci yang pernah melewati jaringan. Lima menit, tidak perlu menginstal alat apa pun.
Enkripsi AES-256-GCM
Setiap rahasia dienkripsi di browsermu menggunakan AES-256-GCM, seperti yang ditentukan dalam NIST SP 800-38D — standar yang sama yang digunakan oleh pemerintah dan lembaga keuangan di seluruh dunia. Enkripsi terjadi sebelum data apa pun meninggalkan perangkatmu.
Kunci tidak pernah meninggalkan browsermu
Kunci enkripsi ditempatkan di URL fragment (bagian setelah #). Sesuai RFC 3986, URL fragment tidak pernah dikirim ke server — mereka hanya ada di browsermu. Hanya orang yang memiliki tautan lengkap yang dapat mendekripsi rahasia.
Arsitektur zero-knowledge
Server kami hanya menyimpan ciphertext terenkripsi dan metadata (jumlah tayang, kedaluwarsa). Kami tidak memiliki cara untuk mendekripsi datamu — kami tidak pernah melihat kunci, dan kami tidak pernah melihat plaintext. Bahkan kompromi server penuh sekalipun hanya akan menghasilkan blob terenkripsi.
Perlindungan passphrase opsional
Untuk keamanan ekstra, kamu dapat menetapkan passphrase saat membuat rahasia. Passphrase membungkus kunci enkripsi — bahkan jika seseorang mencegat tautan, mereka tidak dapat mendekripsi rahasia tanpanya. Bagikan passphrase melalui saluran berbeda (seperti panggilan telepon atau pesan terpisah) untuk perlindungan maksimal.
Apa yang disimpan server
Blob terenkripsi, jumlah tayang yang tersisa, dan stempel waktu kedaluwarsa. Hanya itu. Tidak ada log IP, tidak ada akun pengguna, tidak ada analitik pada konten rahasia.
Penghapusan otomatis
Rahasia dihapus secara permanen ketika batas tayang tercapai atau waktu kedaluwarsa berlalu. Tidak ada tempat sampah, tidak ada cadangan, tidak ada cara untuk memulihkan rahasia yang dihapus.
Terbuka secara desain
Logika enkripsi dan dekripsi berjalan sepenuhnya di browsermu menggunakan Web Crypto API. Kamu dapat memeriksa kode sumber, memverifikasi implementasi kriptografi, dan mengonfirmasi bahwa tidak ada plaintext yang pernah meninggalkan perangkatmu.
Apa yang dilindungi oleh Vaulted
Penyadapan jaringan
Semua data dienkripsi di browsermu sebelum transmisi. Bahkan jika lalu lintas jaringan dicegat, penyerang hanya melihat ciphertext AES-256-GCM — kunci enkripsi tidak pernah melewati jaringan.
Kompromi server
Vaulted menggunakan arsitektur zero-knowledge. Server hanya menyimpan ciphertext terenkripsi dan metadata. Ia tidak pernah menerima kunci enkripsi atau plaintext, sehingga pelanggaran server penuh tidak menghasilkan apa pun yang dapat digunakan.
Akses tidak sah
Rahasia dilindungi oleh batas tayang yang dapat dikonfigurasi, kedaluwarsa otomatis (TTL), dan perlindungan passphrase opsional. Setelah batas tayang tercapai atau TTL kedaluwarsa, rahasia dihapus secara permanen.
Persistensi data
Rahasia dihapus secara otomatis dan permanen dari penyimpanan saat dikonsumsi atau kedaluwarsa. Tidak ada cadangan, tempat sampah, atau mekanisme pemulihan.
Apa yang TIDAK dilindungi oleh Vaulted
Browser atau perangkat yang dikompromi
Jika malware memiliki akses ke browsermu, ia dapat membaca konten yang didekripsi dari DOM setelah kamu melihat rahasia.
Keylogger
Keylogger pada perangkat pengirim atau penerima dapat menangkap passphrase saat diketik.
Ekstensi browser berbahaya
Ekstensi dengan akses DOM dapat membaca konten rahasia yang didekripsi setelah dirender di browser.
Penerima yang berbagi atau mengambil screenshot
Setelah rahasia didekripsi, penerima melihat plaintext. Tidak ada DRM — mereka dapat menyalin, mengambil screenshot, atau membagikannya.
Pencegatan tautan sebelum ditampilkan
Jika URL lengkap (termasuk fragment yang berisi kunci) dicegat sebelum penerima yang dimaksud membukanya, rahasia telah dikompromi.
Passphrase lemah
Jika passphrase digunakan dan lemah, penyerang yang memiliki akses ke kunci yang dibungkus dapat melakukan brute-force.
Apa yang akan kami berikan jika dipanggil pengadilan
Pertanyaan umum dari tim keamanan dan hukum: jika dipaksa oleh proses hukum, apa yang sebenarnya dapat diserahkan oleh Vaulted? Jawaban jujurnya adalah "tidak banyak" — dan itu memang dirancang begitu, bukan karena kebijakan. Kami tidak dapat berbagi apa yang tidak pernah kami terima.
Apa yang kami simpan untuk rahasia tertentu
- Ciphertext AES-256-GCM, penghitung tayang yang tersisa, dan stempel waktu TTL — disimpan sebagai hash Redis di Upstash.
- Salt key-wrapping opsional jika pengirim memilih passphrase.
- Semua hal di atas dihapus otomatis saat TTL kedaluwarsa atau setelah max view tercapai. Tidak ada cadangan, tidak ada arsip.
Apa yang tidak pernah disimpan atau dicatat
- Konten plaintext.
- Kunci enkripsi — hanya ada di URL fragment (setelah
#), yang tidak dikirimkan oleh browser ke server sesuai RFC 3986. - Passphrase (hanya salt yang tidak dapat dibalik yang disimpan).
- Identitas penerima, email, atau sidik jari perangkat.
- Body permintaan, body respons, atau referrer.
Apa yang dicatat secara singkat
- IP peminta, digunakan hanya oleh Upstash Ratelimit (sliding window) untuk memberlakukan 10 create/menit dan 30 view/menit per IP. Disimpan hanya selama jendela rate-limit memerlukan.
- Log operasional standar dari Vercel dan Upstash (kode status, latensi) — tidak terkait dengan konten rahasia.
Apa yang dapat diperoleh penegak hukum dengan proses yang valid
Paling banyak: blob ciphertext yang tidak transparan selama masih dalam jendela TTL-nya, ditambah metadata di atas. Blob tidak dapat dibaca tanpa kunci dekripsi — yang tidak pernah kami miliki dan tidak ada cara untuk memulihkannya.
Kami benar-benar tidak memiliki apa pun yang berguna untuk diserahkan.
Pengungkapan Bertanggung Jawab
Kami menganggap serius masalah keamanan. Jika kamu menemukan kerentanan, tolong laporkan dengan bertanggung jawab agar kami dapat mengatasinya sebelum mempengaruhi pengguna.
Apa yang perlu disertakan dalam laporan
- Deskripsi kerentanan dan dampak potensialnya
- Langkah-langkah untuk mereproduksi masalah
- Kode proof-of-concept atau screenshot apa pun
Ruang lingkup
- Dalam ruang lingkup: implementasi enkripsi, bypass autentikasi, kebocoran data, kerentanan sisi server
- Di luar ruang lingkup: social engineering, denial of service, spam
Kami berusaha mengakui laporan dalam 48 jam.
Ingin melihatnya beraksi?
Coba Encryption Playground — demo interaktif dari enkripsi AES-256-GCM yang sama yang digunakan Vaulted. Atau baca panduan visual enkripsi end-to-end.