Langkah Teknis dan Organisasional

Dokumen ini diterbitkan dalam beberapa bahasa. Jika terdapat perbedaan antara versi bahasa, versi bahasa Polandia yang mengikat.

Versi 1.1 · Terakhir diperbarui: 22 Oktober 2026

Langkah berdasarkan Pasal 32 GDPR yang digunakan LW IT Solutions Company Lukas Wójcik, al. Tadeusza Kościuszki 80/82, lok. 301, 90-437 Łódź, Polandia, untuk melindungi layanan formexposed. Halaman ini merupakan bagian dari Perjanjian Pemrosesan Data sebagai Lampiran 2.

1. Ruang lingkup dan prinsip

Langkah ini berlaku untuk semua data yang diproses layanan: data yang kami proses atas nama Pelanggan (dijelaskan dalam Perjanjian Pemrosesan Data), dan data yang pengendalinya adalah kami sendiri, seperti akun pelanggan dan log. Tidak ada tingkat perlindungan terpisah untuk keduanya; hal yang melindungi akun juga melindungi data yang diproses sebagai prosesor.

Struktur berdasarkan Pasal 32(1) GDPR. Pseudonimisasi dan enkripsi (huruf (a)) dibahas dalam bagian 4; kerahasiaan, integritas, ketersediaan, dan ketahanan sistem yang berkelanjutan (huruf (b)) dalam bagian 3, 5, 6, dan 7; kemampuan memulihkan ketersediaan secara tepat waktu setelah insiden (huruf (c)) dalam bagian 7.1; proses pengujian, penilaian, dan evaluasi efektivitas secara berkala (huruf (d)) dalam bagian 9. Kami memilih langkah-langkah berdasarkan risiko yang dijelaskan dalam Penilaian Dampak Perlindungan Data kami, dengan mempertimbangkan perkembangan teknologi dan biaya penerapan.

Prinsip: terukur, bukan sekadar diniatkan. Hanya hal yang benar-benar telah diterapkan dalam kode atau operasional yang dinyatakan di sini. Hal yang direncanakan tetapi belum diterapkan secara tegas dicantumkan sebagai “direncanakan” dalam bagian 10. Langkah yang tidak tercantum di sini tidak berarti diam-diam sudah diterapkan.

Nama mesin, alamat internal, port, nama pengguna, dan versi perangkat lunak sengaja tidak disebutkan. Informasi tersebut tidak membantu menilai langkah-langkah ini, tetapi membantu orang yang ingin menghindarinya. Siapa pun yang memerlukannya untuk audit berdasarkan Perjanjian Pemrosesan Data akan menerimanya dalam audit tersebut dengan kewajiban kerahasiaan, sejauh diperlukan untuk audit.

2. Struktur layanan

Layanan berjalan pada dua server milik penyedia sendiri di Polandia, yang berada dalam jaringan internal yang sama:

  • Server web dengan basis data. Server ini menyajikan aplikasi, menyimpan basis data, mengirimkan notifikasi, dan mencadangkan data. Hanya server ini yang disiapkan untuk menerima permintaan dari internet.
  • Server pemindai. Server ini melakukan pemeriksaan situs web pihak ketiga dan situs web sendiri dalam browser serta menjalankan model bahasa yang mengklasifikasikan formulir individual, merangkum temuan pemindaian menjadi rencana tindakan berurutan berdasarkan prioritas untuk akun berbayar, dan menambahkan kode dalam “Fix it for me”. Server ini tidak disiapkan untuk menerima permintaan dari internet, melainkan mengambil tugasnya sendiri dari server web dan mengembalikan hasil ke sana.

Tidak ada penyedia hosting, pusat data, atau cloud yang terlibat dalam operasional, dan tidak ada data yang dikirim ke layanan AI eksternal. Pihak ketiga yang menerima data dijelaskan pada halaman Subprosesor.

3. Kerahasiaan

3.1 Kontrol akses fisik

Server berada di tempat milik penyedia di Polandia yang tidak terbuka untuk umum. Hanya pemilik yang memiliki akses (menurut keterangan pengelola). Alamat lokasi yang tepat sengaja tidak disebutkan di sini.

3.2 Kontrol akses: masuk ke layanan

  • Kata sandi hanya disimpan sebagai hash menggunakan metode standar PHP (bcrypt). Jika metode standar berubah, hash diperbarui saat masuk berikutnya. Untuk upaya masuk dengan alamat yang tidak dikenal, server tetap menghitung hash agar waktu respons tidak mengungkap apakah akun ada. Demikian pula, redaksi maupun durasi respons permintaan pengaturan ulang kata sandi tidak mengungkap apakah akun ada; e-mail pengaturan ulang dikirim ke alamat yang sama paling banyak tiga kali per jam. Kata sandi baru harus terdiri dari setidaknya sepuluh karakter dan tidak boleh melebihi 72 byte (UTF-8), karena bcrypt tidak memperhitungkan byte selebihnya. Mengubah kata sandi mengeluarkan semua perangkat lain; mengaturnya ulang melalui tautan mengeluarkan semua perangkat, dan tautan hanya berlaku sekali.
  • Pemblokiran setelah upaya gagal. Upaya masuk gagal dihitung per alamat IP; setelah terlalu banyak dalam waktu singkat (saat ini delapan dalam 15 menit), akses masuk dari alamat tersebut diblokir sementara. Keberhasilan masuk mengatur ulang penghitung ini. Upaya dihapus setelah tujuh hari. Selain itu, sebelum setiap pemeriksaan kata sandi, satu upaya dihitung per akun (untuk alamat yang tidak dikenal, per alamat yang dimasukkan) dan per alamat IP, termasuk upaya yang berhasil: saat ini paling banyak delapan per akun dari alamat IP yang sama dan 80 per alamat IP dalam 15 menit; batas yang jauh lebih tinggi berlaku per akun untuk seluruh alamat secara gabungan, guna melawan tebakan terdistribusi. Karena itu, upaya gagal dari alamat lain tidak lagi menghalangi pemilik mengakses akun. Penghitung ini hanya memuat kunci HMAC, tanpa alamat e-mail atau IP dalam teks biasa, dan kedaluwarsa bersama jendela waktunya. Jika penyimpanan penghitung tidak tersedia, akses masuk ditolak, bukan diloloskan. Jenis batas yang sama berlaku untuk konfirmasi kata sandi sebelum perubahan kata sandi atau alamat, pengaktifan atau penonaktifan faktor kedua, pemindahan ruang kerja, ekspor data, dan penghapusan akun (lima upaya per akun dalam 15 menit), untuk pendaftaran (sepuluh per alamat IP per jam), dan untuk kata sandi portal klien (sepuluh upaya per portal dan alamat IP, 50 per portal dalam 15 menit).
  • Faktor kedua. Setiap akun dapat mengaktifkan akses masuk dengan kode sekali pakai berdasarkan RFC 6238 (TOTP). Rahasia untuk tujuan ini disimpan terenkripsi dalam basis data; kuncinya tidak disimpan dalam basis data, sehingga salinan basis data saja tidak cukup. Kode yang diterima tidak berlaku untuk kedua kalinya. Sepuluh kode pemulihan hanya disimpan sebagai hash. Kode sekali pakai dan pemulihan dibatasi hingga sepuluh upaya per akun dalam 15 menit, termasuk selama penyiapan.
  • Area administrasi hanya dengan faktor kedua. Area administrasi pengelola hanya terbuka bagi akun yang mengaktifkan faktor kedua. Daftar periksa penyiapan melaporkan setiap akun administrator tanpa faktor kedua.
  • Sesi. Cookie sesi tidak dapat dibaca oleh skrip (HttpOnly), hanya dikirim melalui HTTPS (Secure), dan tidak dikirim bersama permintaan dari situs pihak ketiga yang dapat mengubah sesuatu (SameSite=Lax). Saat masuk, ID sesi baru dibuat sehingga ID yang ditanam sebelumnya tidak lagi berlaku; server tidak menerima ID sesi yang tidak diterbitkannya sendiri. Setiap akun dapat melihat perangkat yang masuk dan mengeluarkannya satu per satu.
  • “Tetap masuk” bersifat opsional dan berlaku selama 30 hari, tetapi tidak untuk akun dengan hak administrasi; akun tersebut selalu masuk dengan kata sandi dan faktor kedua. Token terdiri dari dua bagian; bagian verifikasi hanya disimpan dalam basis data sebagai hash. Setiap penggunaan menggantinya dengan yang baru, dan bahkan untuk permintaan bersamaan, setiap token hanya berlaku sekali sehingga token yang dicuri terdeteksi paling lambat pada kunjungan sah berikutnya.
  • Tautan dalam e-mail. Tautan untuk mengonfirmasi alamat dan mengatur ulang kata sandi hanya disimpan dalam basis data sebagai hash. Tautan pengaturan ulang berlaku selama satu jam, tautan konfirmasi pendaftaran selama 72 jam, dan tautan konfirmasi perubahan alamat selama 24 jam. Jika alamat e-mail diubah, tautan pengaturan ulang yang masih terbuka menjadi tidak berlaku.
  • Antarmuka. Kunci API, kode koneksi ekstensi, dan kode penerapan hanya disimpan sebagai hash. Kunci API hanya dapat digunakan dalam jumlah terbatas per menit; kode koneksi ekstensi berlaku selama 15 menit dan hanya sekali.
  • Perlindungan bot pada formulir publik (pendaftaran, masuk, kata sandi, pemeriksaan, alat header, opt-out, dukungan, dan kontak): Google reCAPTCHA, yang hanya dimuat saat pengiriman. Hanya respons sah dari Google dengan skor memadai untuk tindakan formulir yang tepat yang diterima; jika Google tidak merespons dalam tiga detik, pengiriman ditolak. Detail terdapat dalam Kebijakan Privasi.

3.3 Kontrol akses: administrasi server

  • Server yang dapat dijangkau dari internet menggunakan filter paket untuk hanya mengizinkan layanan yang ditawarkannya, dan otomatis memblokir alamat setelah upaya masuk gagal berulang ke administrasi server.
  • Proses otomatis antarserver menggunakan kunci sendiri dengan hak yang dibatasi secara ketat. Kunci yang digunakan server web untuk mengirim versi baru pemindai hanya dapat menjalankan daftar perintah tetap pada server pemindai dan hanya dapat menyalin, dengan akses tulis saja, ke direktori pemindai; kunci ini tidak memungkinkan masuk secara interaktif, dan setiap perintah yang ditolak dicatat dalam log. Demikian pula, server pemindai hanya dapat menulis tangkapan layar ke direktori tertentu pada server web.
  • Proses yang menyajikan situs web tidak memiliki akses tulis ke instalasi produksi maupun kunci untuk server pemindai. Deployment yang dipicu dalam area administrasi hanya mengajukan tugas, yang dilaksanakan oleh proses terpisah.
  • Rahasia seperti kredensial basis data dan kunci disimpan dalam berkas konfigurasi di luar direktori yang disajikan dan tidak ikut disalin saat deployment. Konfigurasi server web tidak didistribusikan melalui antarmuka web.

3.4 Kontrol otorisasi: hak dalam layanan

  • Peran. Setiap ruang kerja memiliki peran pemilik, administrator, dan pengamat. Mengubah, menghapus, mengundang, dan menyimpan kredensial dikhususkan bagi pemilik dan administrator; hanya pemilik yang boleh mengubah peran dan menghapus anggota. Undangan hanya berlaku selama pengirimnya masih menjadi pemilik atau administrator. Pengamat hanya melihat alamat webhook dan kanal percakapan yang dipersingkat hingga host, karena alamat itu sendiri memungkinkan pengiriman ke kanal. Pemeriksaan dilakukan pada server, bukan hanya dalam antarmuka.
  • Keterikatan pada ruang kerja. Domain dan pengaturan hanya dapat diakses anggota ruang kerja. Untuk setiap pemeriksaan, Layanan membuat laporan pada tautan acak yang tidak dapat ditebak; hasil dan tangkapan layar pemeriksaan dapat diakses melalui tautan ini tanpa masuk, sedangkan tangkapan layar hanya bersama tautan laporannya. Tautan muncul dalam akun dan peringatan; siapa pun yang meneruskannya juga meneruskan laporan.
  • Permintaan yang mengubah keadaan memerlukan token keamanan per sesi (perlindungan CSRF), yang dibandingkan dalam waktu konstan.
  • “Lihat sebagai pelanggan”. Untuk dukungan, pengelola dapat melihat aplikasi sebagaimana dilihat Pelanggan. Tampilan berakhir setelah satu jam, memblokir perubahan kata sandi, alamat, faktor kedua, perangkat, langganan, ekspor, dan penghapusan, menutup area administrasi selama itu, dan dicatat dalam log. Mengakhirinya mengeluarkan pengelola sepenuhnya; pengelola hanya dapat kembali ke area administrasi dengan masuk lagi menggunakan kata sandi dan faktor kedua. Pelanggan dapat melihatnya dalam ekspor datanya.
  • Administrasi. Hanya beberapa akun yang secara tegas diizinkan memiliki hak administrasi; setiap pengaturan ulang faktor kedua oleh administrasi dicatat dalam log.

3.5 Kontrol pemisahan

  • Data Pelanggan dipisahkan secara logis menurut ruang kerja. Setiap jalur baca dan tulis dalam area setelah masuk membawa keterikatan ini; laporan juga dapat diakses melalui tautannya (bagian 3.4).
  • Pengembangan dan operasional berjalan dalam instalasi terpisah dengan basis data dan pengguna basis data terpisah. Pengguna pengembangan tidak memiliki akses ke basis data produksi. Data pelanggan nyata tidak disalin ke pengembangan; di sana kami menggunakan data contoh yang dihasilkan.
  • Untuk setiap lingkungan, pemindai memiliki kredensial sendiri dengan hak hanya atas data yang diperlukan untuk tugasnya. Pemindai tidak dapat membaca akun, penagihan, atau log.
  • Layanan lain dari penyedia yang sama juga berjalan pada server web. Layanan tersebut memiliki basis data dan pengguna basis data sendiri tanpa akses ke data layanan ini.

4. Enkripsi, pseudonimisasi, dan minimalisasi data

4.1 Kredensial untuk pemindaian di balik halaman masuk

Untuk fungsi ini, Pelanggan menyimpan nama pengguna dan kata sandi akun uji. Keduanya merupakan data paling sensitif dalam layanan sehingga dilindungi secara berbeda dari yang lainnya:

  • Saat penyimpanan, server web mengenkripsinya dengan kunci publik server pemindai (ECIES: X25519 dengan kunci sekali pakai per rekaman, HKDF-SHA256, AES-256-GCM). Kunci privat hanya ada pada server pemindai. Server web, basis data, dan cadangan hanya memuat teks sandi; kami pun tidak dapat membacanya di sana.
  • Setiap rekaman diikat secara kriptografis ke domainnya. Jika dipindahkan ke domain lain, dekripsi gagal.
  • Untuk pemindaian, teks sandi dilampirkan pada tugas. Server pemindai mendekripsinya dan meneruskan kredensial ke kontainer pemeriksaan hanya melalui masukan standar, tidak pernah sebagai argumen baris perintah yang akan terlihat dalam daftar proses. Segera setelah server pemindai membacanya, teks sandi dihapus dari tugas; proses terjadwal membersihkan sisa apa pun paling lambat setelah satu jam.
  • Kredensial tidak pernah ditampilkan, tidak pernah dicatat dalam log, tidak pernah dikeluarkan melalui API, dan tidak diekspor. Antarmuka hanya menampilkan karakter pertama dan panjang nama pengguna. Menghapusnya menimpa teks sandi.
  • Di balik halaman masuk, pemindai hanya membaca: tanpa pengiriman, tanpa uji aktif, tanpa tangkapan layar, tanpa halaman untuk keluar, menghapus, atau membatalkan.

4.2 Enkripsi dan hash lainnya

  • Kata sandi, kode pemulihan, kata sandi portal klien, kunci API, kode koneksi dan penerapan, token “Tetap masuk”, ID sesi dalam daftar perangkat, serta tautan konfirmasi dan pengaturan ulang hanya disimpan sebagai hash.
  • Rahasia untuk faktor kedua disimpan terenkripsi (bagian 3.2).
  • Kami tidak mengklaim bahwa seluruh basis data dienkripsi saat tersimpan. Nilai sensitif dilindungi satu per satu, sebagaimana dijelaskan di atas.

4.3 Minimalisasi data sejak perancangan

  • Kontrol pengiriman: Hanya header dan paling banyak 8 KB pertama teks yang dibaca. Hanya waktu, keterkaitan, jika berlaku ID pengiriman uji, serta hasil pemeriksaan keaslian (SPF, DKIM, DMARC) yang masuk ke basis data, tidak pernah isi atau alamat pengirim lengkap. Hasil keaslian e-mail terbaru disimpan bersama domain dan ditimpa oleh yang berikutnya; hasil tersebut memuat alamat IP server e-mail yang mengirimkan dan domain e-mail pengirim. E-mail dihapus dari kotak surat setelah berhasil diproses; jika pengambilan atau penghapusan gagal, penghapusan dilakukan pada pelaksanaan berikutnya yang berhasil.
  • Pemeriksaan: Struktur formulir disimpan dengan nama kolom, jenis, label, atribut wajib diisi dan visibilitas, tanpa nilai; pemindai membaca bagian awal kolom tersembunyi yang telah diisi (hingga 24 karakter) dan atribut data (hingga 60 karakter) hanya selama pemeriksaan dan tidak menyimpannya. Tangkapan layar pemeriksaan lengkap tidak disamarkan; hanya pemeriksaan browser yang menutupi kolom masukan. Alamat penerima formulir hanya disimpan sebagai domain. Pengiriman uji aktif hanya memuat teks uji berlabel tanpa data pribadi.
  • Ekstensi untuk WordPress dan TYPO3 hanya mengirimkan angka harian dan karakteristik seperti inventaris plugin, serta untuk plugin WordPress yang terhubung juga domain tautan dari pesan yang diblokir untuk perlindungan swarm (aktif secara bawaan); tanpa isi lain, tanpa nama, alamat, atau alamat IP pengunjung. Penghitungan opsional kesalahan formulir dan kolom dinonaktifkan secara bawaan.
  • “Fix it for me”: Kode yang ditempelkan hanya diproses selama permintaan berlangsung dan tidak disimpan.
  • Lencana: Gambar lencana pada situs web pelanggan tidak memasang cookie atau memulai sesi.
  • Notifikasi operasional ke telepon pengelola merupakan teks tetap tanpa variabel, yaitu tanpa nama, alamat, atau isi. Notifikasi kesalahan melalui e-mail kepada pengelola memuat teks mentah pesan kesalahan, tanpa dibersihkan dan dipotong hingga 400 karakter; dalam kasus tertentu teks tersebut dapat memuat alamat atau tautan.
  • Perlindungan swarm: Antar-ekstensi Pelanggan hanya domain dari tautan dalam spam yang diblokir yang dibagikan; pertukaran jaringan IP dinonaktifkan.
  • Lokasi: Negara suatu alamat IP ditentukan dari berkas basis data lokal; tidak ada alamat yang dikirim ke layanan geolokasi.

5. Perlindungan terhadap penyalahgunaan pemindai

Pemindai memuat halaman pihak ketiga dengan browser nyata. Tanpa perlindungan, pemindai akan menjadi alat yang memungkinkan orang dari luar menjangkau jaringan internal kami atau sasaran nonpublik lainnya (server-side request forgery). Karena itu, terdapat dua lapisan independen dan isolasi untuk setiap pelaksanaan individual.

5.1 Pelaksanaan terisolasi

  • Setiap pemeriksaan berjalan dalam kontainernya sendiri, yang dihapus setelahnya. Kontainer berjalan tanpa hak administrator, tanpa kapabilitas sistem operasi tambahan, dan tanpa kemungkinan meningkatkan hak akses. Sistem berkasnya hanya dapat dibaca kecuali area sementara kecil.
  • Memori, jumlah proses, dan waktu pelaksanaan dibatasi; pelaksanaan yang melebihi waktu dihentikan.

5.2 Jaringan: dua lapisan

  • Lapisan pertama, dalam pemindai: Sebelum pemindaian dan kemudian untuk setiap permintaan individual browser, termasuk pengalihan dan konten tertanam, diperiksa ke mana alamat diterjemahkan. Jaringan privat, lokal, yang dicadangkan, dan dokumentasi (IPv4 dan IPv6) ditolak, demikian pula port selain yang lazim untuk web. Browser tidak mengizinkan service worker, dan koneksi WebSocket ditutup, karena keduanya dapat melewati pemeriksaan ini.
  • Lapisan kedua, dalam jaringan: Kontainer berjalan dalam jaringan tersendiri. Aturan firewall hanya mengizinkan koneksi dari sana ke internet pada port web; koneksi ke jaringan privat, termasuk jaringan internal kami dengan server web dan basis data, diblokir. Pengecualian yang diperlukan pelaksanaan pemeriksaan itu sendiri dibatasi pada yang diperlukan dan dijelaskan dalam dokumentasi internal kami. Lapisan ini juga berlaku jika suatu nama baru diterjemahkan secara berbeda setelah pemeriksaan pertama.

5.3 Permintaan yang dibuat oleh server web

Ketika server web sendiri meminta alamat pihak ketiga – untuk bukti kendali domain, alat header, pencarian berkas tanpa perlindungan, permintaan denyut, kueri RDAP dan pemeriksaan sertifikat, webhook dan peringatan percakapan, serta titik pemeriksaan kedua opsional – aturan yang sama berlaku: hanya protokol web pada port web yang lazim (webhook dan peringatan percakapan hanya melalui HTTPS pada port standar), hanya alamat publik, koneksi hanya ke alamat tepat yang diperiksa sebelumnya sehingga nama tidak dapat dialihkan kemudian ke sasaran internal, pengalihan tidak diikuti sama sekali atau hanya diikuti secara manual dan diperiksa ulang setiap kali, batas waktu singkat; untuk bukti kendali domain, permintaan denyut, dan titik pemeriksaan kedua dalam pemeriksaan browser, ukuran respons juga dibatasi.

5.4 Hal yang tidak dilakukan pemindai pada situs pihak ketiga

  • Pengiriman uji aktif (paling banyak lima per pemeriksaan) hanya tersedia bagi Pelanggan untuk domain yang telah dilengkapi bukti kendali (DNS, tag meta, berkas, atau ekstensi); satu-satunya pengecualian adalah pemeriksaan internal atas domain uji dan demo kami sendiri. Nama host domain dengan bukti kendali tidak dapat diubah agar bukti tersebut tidak beralih ke host lain. Semua yang lain bersifat pasif: membaca halaman seperti pengunjung.
  • Pemeriksaan browser berjalan hingga tahap sebelum pengiriman dan tidak memicu pesanan, pembayaran, atau pengiriman apa pun.
  • Domain dalam daftar opt-out tidak diperiksa; pemantauan yang sedang berjalan berakhir pada pemeriksaan terjadwal berikutnya.

6. Integritas: transfer dan masukan

6.1 Transportasi

  • Aplikasi hanya dapat dijangkau dari internet melalui HTTPS; browser diperintahkan hanya menggunakan HTTPS selama satu tahun (HSTS). Sertifikat diperbarui secara otomatis.
  • Header tambahan membatasi penyematan aplikasi dalam halaman pihak ketiga, penebakan jenis berkas, dan pengiriman formulir ke sasaran pihak ketiga. Kebijakan keamanan konten hanya mengizinkan skrip dalam aplikasi yang diizinkan server bersama respons yang bersangkutan; browser terkini tidak menjalankan skrip atau penangan peristiwa yang disisipkan dalam HTML.
  • Kotak surat kontrol pengiriman diambil melalui koneksi terenkripsi dengan verifikasi sertifikat.
  • Webhook dapat ditandatangani dengan rahasia milik Pelanggan (HMAC-SHA256 dengan stempel waktu) agar penerima dapat memverifikasi asal dan integritas. Permintaan ke titik pemeriksaan kedua opsional ditandatangani, dan untuk pemeriksaan browser, responsnya juga.
  • Dinyatakan secara terbuka: Koneksi dalam jaringan internal kami tidak seluruhnya dienkripsi. Kredensial untuk pemindaian di balik halaman masuk tetap terenkripsi sepanjang proses (bagian 4.1).

6.2 Kontrol masukan dan log

  • Tindakan penting dalam akun dan ruang kerja (seperti masuk, perubahan domain, tujuan peringatan dan hak, penghapusan, akses dukungan) dicatat dalam log aktivitas dengan akun, waktu, alamat IP, dan negara, lalu dihapus setelah 365 hari.
  • Catatan akses halaman yang disimpan untuk keamanan dan pencegahan penyalahgunaan dihapus setelah 60 hari, log kesalahan setelah 90 hari, isi e-mail yang dikirim setelah 30 hari. Token akses dalam alamat yang diminta dan perujuk, seperti pada tautan laporan atau portal, hanya muncul dalam bentuk tersamarkan dalam catatan akses halaman.
  • Penerimaan dokumen kontrak disimpan bersama versi yang ditampilkan, checksum-nya, waktu, alamat IP, dan pengenal browser.
  • Log bukti dapat dilengkapi stempel waktu dari otoritas pemberi stempel waktu eksternal; hanya checksum isi yang dikirim kepadanya, bukan isinya sendiri.

7. Ketersediaan dan ketahanan

7.1 Cadangan

  • Basis data dicadangkan setiap malam. Cadangan hanya menerima nama akhirnya setelah isinya diperiksa: program pencadangan berhasil diselesaikan, setidaknya satu rekaman, jumlah tabel sama dengan basis data, dan baris penutup pelaksanaan lengkap. Cadangan lama hanya dihapus setelah cadangan baru berhasil.
  • Setiap cadangan dihapus setelah 14 hari. Lokasi penyimpanan berada di luar direktori mana pun yang disajikan; lokasi di dalam proyek ditolak.
  • Uji pemulihan: Sekali seminggu, cadangan terbaru dimuat ke basis data sementara, dibandingkan tabel demi tabel dengan produksi, dan dihapus kembali. Hasilnya disimpan.
  • Jika pencadangan atau pengujian gagal, notifikasi dikirim melalui e-mail dan ke telepon pengelola.
  • Pemulihan setelah insiden: Jika basis data gagal atau data rusak, kami memulihkan cadangan terbaru yang telah diuji. Perubahan sejak cadangan tersebut, umumnya paling banyak perubahan satu hari, dapat hilang dalam proses ini; jika pencadangan gagal, lebih banyak sesuai keadaannya. Kami kemudian menjalankan ulang permintaan penghapusan setelahnya yang diketahui (bagian 8). Kami tidak menjanjikan waktu pemulihan tertentu.
  • Batasan, dinyatakan secara terbuka: Cadangan saat ini disimpan pada lokasi yang sama dengan basis data dan tidak dienkripsi secara terpisah. Cadangan melindungi dari kesalahan operasional, perubahan keliru, dan data rusak, bukan dari kehilangan server itu sendiri. Salinan terenkripsi pada lokasi kedua direncanakan (bagian 10).
  • Kredensial pemindaian di balik halaman masuk hanya terdapat dalam cadangan sebagai teks sandi; rahasia faktor kedua hanya dalam bentuk terenkripsi, dengan kunci di luar basis data.

7.2 Pemantauan

  • Proses pemeriksaan status memeriksa komponen layanan setiap lima menit, termasuk basis data, antrean, dan heartbeat pemindai, yang ditulis pemindai secara berkala bahkan saat tidak aktif. Jika komponen gagal, notifikasi dikirim; jika pulih, pemberitahuan pemulihan dikirim.
  • Pemantauan silang: Proses pemeriksaan status tidak dapat melaporkan kegagalan mesin tempatnya berjalan. Karena itu, server pemindai memeriksa setiap menit apakah aplikasi merespons dan, setelah beberapa kegagalan berturut-turut, melaporkan dengan teks tetap ke telepon pengelola. Sebaliknya, server web memantau heartbeat pemindai; daftar periksa penyiapan menunjukkan apakah pemantauan silang berjalan.
  • Peringatan kesalahan: Jenis kesalahan yang belum pernah terjadi dilaporkan sekali dengan segera; akumulasi kesalahan hanya memicu satu sinyal ke telepon pengelola; ikhtisar dikirim sekali sehari. Dengan demikian, kami tidak baru mengetahui kesalahan dari Pelanggan.
  • Batasan, dinyatakan secara terbuka: Kedua server berada pada lokasi yang sama. Kegagalan seluruh lokasi, misalnya listrik atau koneksi internet, tidak dilaporkan oleh mekanisme peringatan apa pun, melainkan diketahui oleh manusia.

7.3 Perubahan dan deployment

  • Versi baru terlebih dahulu dibangun dan diuji dalam lingkungan pengembangan terpisah. Deployment memeriksa semua prasyarat sebelum berkas pertama ditulis, melakukan perubahan skema basis data, dan membiarkan pemeriksaan yang berjalan selesai secara tertib sebelum pemindai dimulai ulang.
  • Untuk alur Pelanggan baru tersedia uji dasar melalui HTTP nyata, yang dijalankan setelah peralihan. Kami tidak mengklaim adanya rangkaian pengujian otomatis sebelum setiap deployment individual.

8. Penghapusan dan masa penyimpanan

  • Proses penghapusan setiap malam memberlakukan periode yang dinyatakan dalam Kebijakan Privasi dan Perjanjian Pemrosesan Data. Proses tersebut membaca pengaturan yang sama yang menjadi sumber angka dalam teks; karena itu, untuk periode ini, teks dan perilaku tidak menyimpang.
  • Hasil pemeriksaan termasuk tangkapan layar dihapus setelah 13 bulan (yang terbaru per domain tetap disimpan), angka ekstensi setelah 13 bulan, log pengiriman peringatan setelah 90 hari, permintaan dukungan setelah 24 bulan.
  • Menghapus domain menghapus data domain, termasuk pemeriksaan, formulir, temuan, tangkapan layar, laporan, tugas, tujuan dan log peringatan, insiden, data pengiriman, kredensial pemindaian di balik halaman masuk, dan bukti.
  • Penghapusan akun dilakukan segera; ruang kerja tanpa anggota lain dihapus bersama datanya, ruang kerja dengan anggota lain dialihkan kepada anggota lain, dengan prioritas administrator, dan di antaranya yang paling lama menjadi anggota. Hingga periode masing-masing berakhir, yang berikut tetap disimpan: log yang entrinya mempertahankan nomor akun lama yang tidak lagi merujuk pada akun yang ada, termasuk entri penghapusan, serta e-mail yang dikirim, bukti penutupan kontrak, permintaan dukungan, laporan pemeriksaan calon pelanggan (hingga 90 hari), dan data penagihan di Stripe; detail terdapat dalam Kebijakan Privasi.
  • Data yang dihapus tetap berada dalam cadangan hingga cadangan kedaluwarsa setelah 14 hari. Penghapusan khusus di dalam cadangan tidak dilakukan; jika cadangan dipulihkan, permintaan penghapusan setelahnya yang diketahui dilaksanakan kembali secara manual.

9. Organisasi dan peninjauan

  • Personel: Layanan saat ini dioperasikan sendiri oleh pemilik. Orang lain hanya menerima akses setelah menyatakan kewajiban kerahasiaan dan hanya sejauh diperlukan, dan mereka memproses data hanya berdasarkan instruksi kami (Pasal 29 dan Pasal 32(4) GDPR).
  • Subprosesor: Kami hanya menggunakan mereka setelah meninjau jaminannya dan berdasarkan kontrak sesuai Pasal 28(4) GDPR, serta mencantumkannya pada halaman Subprosesor; detail diatur oleh Perjanjian Pemrosesan Data.
  • Pelanggaran data pribadi: Jika pelanggaran data pribadi memengaruhi data yang kami proses sebagai prosesor, kami memberi tahu Pelanggan tanpa penundaan yang tidak semestinya, jika memungkinkan dalam 48 jam; detail diatur oleh Perjanjian Pemrosesan Data.
  • Pelaporan kerentanan: Kami menerima laporan pada Keamanan dan melalui berkas /.well-known/security.txt.
  • Daftar periksa penyiapan dan peluncuran: Dalam area administrasi, daftar periksa mengukur kondisi pengaturan yang relevan dengan keamanan, seperti cadangan, administrator tanpa faktor kedua, penyiapan e-mail, dan heartbeat, serta menampilkan penyimpangan.
  • Peninjauan langkah-langkah ini (Pasal 32(1)(d) GDPR): pada setiap perubahan signifikan layanan, setelah setiap insiden keamanan, dan selain itu setidaknya sekali setahun. Dalam proses ini, kami menilai apakah langkah-langkah efektif dan masih sesuai dengan risiko, serta mencatat hasilnya dalam versi baru halaman ini atau, jika tidak ada perubahan, dengan tanggal peninjauan pada bagian 11. Secara berkelanjutan, daftar periksa penyiapan dan peluncuran mengukur kondisi pengaturan yang dicakupnya.
  • Audit eksternal: Saat ini tidak ada uji penetrasi eksternal yang ditugaskan, dan tidak ada sertifikasi keamanan. Hal ini dinyatakan di sini agar tidak ada yang mengasumsikannya.

10. Direncanakan, belum diterapkan

Hal-hal ini belum merupakan langkah yang dijanjikan hingga dicantumkan di sini sebagai telah diterapkan dalam versi baru:

  • Cadangan pada lokasi kedua: salinan terenkripsi cadangan malam di luar server, agar kehilangan server secara keseluruhan pun tidak menyebabkan kehilangan data.
  • Titik pemeriksaan kedua: Konfirmasi independen pemeriksaan browser dari lokasi kedua telah dipersiapkan dalam layanan, tetapi belum disiapkan. Tanpanya, tidak ada konfirmasi dari lokasi kedua.
  • Penguatan administrasi server: Hal ini terus berlangsung. Karena alasan yang diberikan dalam bagian 1, kami tidak memublikasikan detailnya.

11. Status dan versi

  • Versi 1.1 · Terakhir diperbarui: 22 Oktober 2026 · jika terdapat perbedaan antara versi bahasa, versi bahasa Polandia yang berlaku menggantikan bahasa Jerman; tidak ada perubahan lain.
  • Versi 1.0 · Terakhir diperbarui: 11 Oktober 2026 · versi pertama sebagai halaman terpisah; sebelumnya Lampiran 2 Perjanjian Pemrosesan Data. Koreksi dibandingkan lampiran sebelumnya: uji pemulihan berjalan mingguan, cadangan berada pada server yang sama, tidak ada rangkaian pengujian otomatis sebelum setiap deployment, koneksi jaringan internal tidak seluruhnya dienkripsi. Baru dijelaskan: enkripsi kredensial pemindaian di balik halaman masuk, isolasi pemindai, pemantauan silang, dan peringatan kesalahan.
  • Perubahan dipublikasikan dengan nomor versi baru di sini dan dalam ringkasan Perubahan Dokumen Kontrak; untuk setiap pelemahan langkah, masa pemberitahuan Perjanjian Pemrosesan Data berlaku.
  • Jika terdapat perbedaan antara versi bahasa, versi bahasa Polandia yang berlaku.