{
  "date": "2026-10-04T03:56:51.749Z",
  "environment": "Miniflare D1/R2 terpisah, data uji tidak pernah dimasukkan ke produksi",
  "passed": 25,
  "checks": [
    "Data awal 5 program, target Rp615.230.000, penerimaan nol",
    "Instruksi pembayaran tertutup sampai dokumen rekening dikonfirmasi",
    "API admin menolak publik dan sesi pemilik yang belum faktor kedua",
    "Authenticator terkonfirmasi, secret terenkripsi, kode pemulihan hanya berupa hash",
    "Uji vektor TOTP RFC 6238 SHA1 dan enkripsi AES-GCM",
    "Validasi berkas server menolak jenis palsu dan lebih dari 5 MB",
    "Rekening aktif hanya setelah pemeriksaan PDF dan autentikasi ulang",
    "Nominal bebas tanpa akun; negatif dan pecahan ditolak",
    "Status tidak dapat diambil dengan ID berurutan atau token lain",
    "Unggah bukti hanya menunggu verifikasi; bukti dan kontak tidak bocor",
    "Impor referensi andal tidak menggandakan mutasi; impor belum menjadi donasi",
    "Nominal sama tidak cukup; pencocokan menolak kelebihan dan bersifat idempoten",
    "Verifikasi berulang serta serentak menambah penerimaan satu kali",
    "Biaya, pengeluaran, refund, dan koreksi menjaga saldo",
    "Editor tidak dapat memverifikasi, mengganti rekening, atau membaca bukti privat",
    "Keuangan tidak dapat melewati faktor kedua",
    "Foto/progres persistensi lintas sesi; draft tidak bocor; konflik terdeteksi",
    "Pemulihan versi membuat draft baru tanpa mengubah saldo; arsip mempertahankan donasi",
    "Kode pemulihan hanya sekali dan tidak menjadi autentikasi ulang sensitif",
    "Backup belum terhubung tidak diklaim aktif",
    "Snapshot database dan file berhasil dipulihkan di lingkungan terpisah",
    "Alokasi dana prioritas bukan penerimaan baru; saldo per program konsisten",
    "Backup terenkripsi mengirim database dan semua file ke penyimpanan terpisah",
    "Pekerjaan harian autentik dan jadwal tidak mengulang backup pada hari yang sama",
    "Pergantian rekening mempertahankan instruksi lama dan memisahkan referensi mutasi"
  ],
  "limitations": [
    "Scheduler eksternal dan penyimpanan backup terpisah belum terhubung; uji pemulihan lokal tidak membuktikan pekerjaan terjadwal produksi.",
    "Browser UI QA tidak tersedia dalam lingkungan ini; tampilan responsif diperiksa melalui CSS dan render server."
  ]
}
