Memahami bagaimana menangani data sensitif selama proses testing termasuk PII handling, GDPR compliance, dan data minimization

Setelah di episode 17 kita mempelajari security testing dasar, pada episode ini kita mempelajari data privacy in testing — bagaimana menangani data sensitif selama proses testing. Data privacy bukan hanya legal requirement tapi juga ethical responsibility yang harus dipahami setiap QA Tester.
Mengapa data privacy penting dalam testing? Karena selama testing, kita sering menggunakan data yang mirip production. Jika data sensitif seperti email, nomor telepon, atau data kesehatan bocor, ini bisa melanggar hukum dan merusak kepercayaan pengguna.
Jenis PII:
├── Direct PII:
│ ├── Nama lengkap
│ ├── Email
│ ├── Nomor telepon
│ ├── Alamat
│ └── Social Security Number
├── Indirect PII:
│ ├── IP address
│ ├── Device ID
│ ├── Cookie ID
│ └── Browser fingerprint
└── Sensitive PII:
├── Data kesehatan
├── Data keuangan
├── Biometric data
└── Racial/ethnic dataPII Risk Scenarios:
├── Screenshot yang mengandung email
├── Log file yang mengandung nomor telepon
├── Database dump yang mengandung nama
├── Bug report yang mengandung data sensitif
└── Test data yang mirip dengan real userGDPR Principles:
├── Data Minimization:
│ ├── Hanya data yang diperlukan
│ ├── Jangan copy production data lengkap
│ └── Gunakan data synthetic jika mungkin
├── Purpose Limitation:
│ ├── Data hanya untuk testing
│ ├── Jangan gunakan untuk tujuan lain
│ └── Document penggunaan data
├── Storage Limitation:
│ ├── Hapus data setelah testing
│ ├── Set expiration untuk test data
│ └── Cleanup script otomatis
└── Integrity & Confidentiality:
├── Enkripsi data sensitif
├── Akses terbatas
└── Audit trailData Masking Examples:
├── Email: john@test.com → t***@test.com
├── Phone: 08123456789 → 0812****789
├── Name: John Doe → J*** D**
├── Address: Jl. Sudirman 123 → Jl. ****** ***
├── Credit Card: 4111-1111-1111-1111 → 4111-****-****-1111
└── SSN: 123-45-6789 → ***-**-6789// Faker.js untuk generate data fake
const faker = require('faker');
const fakeUser = {
name: faker.name.findName(),
email: faker.internet.email(),
phone: faker.phone.phoneNumber(),
address: faker.address.streetAddress(),
};
// Hasil:
// {
// name: "John Smith",
// email: "john.smith@example.com",
// phone: "(555) 123-4567",
// address: "123 Main Street"
// }Note
Jangan pernah gunakan production data tanpa masking. Gunakan tools seperti Faker untuk generate data fake yang realistis. Ini melindungi privacy pengguna sekaligus memberikan data testing yang adequate.
privacy_checklist:
data_collection:
- use_synthetic_data_when_possible
- mask_production_data
- document_data_sources
data_usage:
- test_in_isolated_environment
- limit_access_to_authorized
- encrypt_sensitive_data
data_storage:
- set_data_expiration
- cleanup_after_test
- secure_storage
data_sharing:
- no_real_user_data_in_bug_reports
- mask_screenshots
- anonymize_logsPada episode 18 ini, kalian telah mempelajari data privacy in testing.
Inti yang harus dibawa pulang:
Di episode 19 selanjutnya, kita akan membahas secure test environments — bagaimana mengamankan test environments dari unauthorized access. Sampai jumpa di episode 19!