# WBS AI — Arsitektur dan Penjelasan Sistem

> Dokumen ini merangkum visi, prinsip, arsitektur target, tata kelola, alur operasional, struktur aplikasi, dan status implementasi WBS AI.
>
> Terakhir diperbarui: 16 Juli 2026

---

## 1. Ringkasan Eksekutif

WBS AI adalah inisiatif independen dan nonprofit untuk menyediakan kanal pelaporan indikasi korupsi, penyalahgunaan kewenangan, konflik kepentingan, pelanggaran layanan publik, dan pelanggaran kepentingan publik lainnya.

Pesan utama platform:

> **Laporkan korupsi. AI bantu temukan polanya.**

Sistem dirancang agar laporan masyarakat tidak sepenuhnya dikendalikan oleh institusi atau pihak yang mungkin menjadi subjek laporan. AI membantu menerima, menstrukturkan, menyamarkan identitas, menganalisis, menghubungkan, dan memperkaya laporan dengan informasi pendukung yang sah.

AI tidak menetapkan seseorang bersalah. Hasil sistem berupa indikasi, korelasi, penilaian risiko, daftar bukti, pertanyaan yang belum terjawab, dan rekomendasi tindak lanjut yang masih memerlukan verifikasi manusia serta proses hukum yang sesuai.

WBS AI tidak memiliki kantor fisik. Sistem dirancang beroperasi secara daring, terdistribusi, dan dibantu otomasi AI. Kepemilikannya diposisikan sebagai infrastruktur publik: **milik masyarakat untuk masyarakat**.

---

## 2. Status Implementasi Saat Ini

### 2.1 Sudah tersedia

- Situs publik berbasis Express dan halaman HTML statis.
- Landing page utama.
- Halaman berita dan template detail berita.
- Dashboard statistik dengan data simulasi UI/UX.
- Halaman transparansi donasi dengan chart dan tabel data simulasi.
- Halaman Tentang Kami.
- Halaman Kontak.
- Halaman Landasan Hukum.
- Halaman Kebijakan Privasi.
- Halaman Prinsip AI.
- Navigasi desktop dan mobile.
- Dropdown Statistik dengan submenu Dashboard dan Donasi.
- Health endpoint aplikasi.
- Health endpoint database MySQL.
- Header keamanan melalui Helmet.
- Content Security Policy dasar.
- Kompresi HTTP.
- Error page 404 dan 500.
- Schema awal MySQL untuk pengaturan sistem dan pembaruan publik.

### 2.2 Masih berupa konsep atau rencana pengembangan

- Form aduan anonim yang benar-benar aktif.
- Web Chat pelaporan.
- Bot Telegram pelaporan.
- Integrasi WhatsApp pelaporan.
- Secure document drop.
- Identity Vault.
- Multi-agent AI investigation pipeline.
- Korelasi lintas laporan dalam database produksi.
- Evidence provenance dan chain of custody lengkap.
- Workflow relawan dan case assignment.
- Multi-party approval untuk membuka identitas.
- Sistem audit immutable.
- Payment gateway dan penerimaan donasi nyata.
- Dashboard donasi berbasis data transaksi nyata.
- Portal admin, auditor, relawan, dan advokat.
- Integrasi sumber data publik eksternal.

Semua data statistik dan donasi yang tampil sekarang adalah **data simulasi UI/UX**, bukan data operasional nyata.

---

## 3. Visi

Membangun infrastruktur pelaporan publik yang aman, independen, transparan, dapat diaudit, dan mampu menemukan pola korupsi yang sering tidak terlihat ketika laporan diperiksa secara terpisah.

---

## 4. Misi

1. Menyediakan kanal aman bagi masyarakat untuk melaporkan indikasi korupsi.
2. Melindungi identitas pelapor melalui pemisahan data dan prinsip akses minimum.
3. Membantu pelapor menyusun laporan yang lengkap dan terstruktur.
4. Menggunakan AI untuk menemukan pola, korelasi, kontradiksi, dan bukti pendukung.
5. Menjaga agar AI tidak bertindak sebagai hakim.
6. Memastikan keputusan sensitif memiliki kontrol manusia dan jejak audit.
7. Membangun model pendanaan nonprofit yang transparan dan bebas kendali donor.
8. Mengembangkan jaringan relawan investigasi, hukum, teknis, audit, dan perlindungan pelapor.

---

## 5. Prinsip Utama

### 5.1 AI bukan hakim

AI hanya membantu analisis. Sistem tidak boleh menyimpulkan kesalahan pidana atau perdata seseorang sebagai fakta final.

### 5.2 Privasi sejak awal

Perlindungan identitas tidak boleh menjadi fitur tambahan. Identitas pelapor, materi laporan, dan bukti harus dipisahkan sedini mungkin.

### 5.3 Blind administration

Administrator teknis tidak otomatis berhak membaca isi laporan atau identitas pelapor.

### 5.4 Least privilege

Setiap pengguna, relawan, layanan, dan agen AI hanya memperoleh akses minimum yang diperlukan.

### 5.5 Auditability

Akses, perubahan, pengunduhan, korelasi, keputusan, dan tindakan sensitif harus meninggalkan jejak audit.

### 5.6 Independensi donor

Donasi tidak memberi hak untuk:

- melihat laporan;
- menentukan prioritas kasus;
- menghentikan investigasi;
- meminta identitas pelapor;
- memengaruhi hasil analisis;
- menentukan siapa yang diperiksa.

### 5.7 Sumber data yang sah

AI hanya boleh menggunakan sumber yang:

- diberikan oleh pelapor;
- tersedia secara terbuka;
- diperoleh secara sah;
- diberikan melalui izin atau kemitraan yang valid;
- diakses sesuai kebijakan dan hukum yang berlaku.

Sistem tidak boleh meretas, menyamar secara ilegal, membeli data ilegal, atau melakukan pengawasan tanpa batas.

### 5.8 Kepentingan publik

Platform tidak dibangun untuk keuntungan komersial. Infrastruktur, tata kelola, dan kebijakan harus mengutamakan kepentingan masyarakat.

---

## 6. Model Operasional 24/7

WBS AI dirancang untuk bekerja terus-menerus, termasuk ketika tidak ada laporan baru.

Operasi utama:

1. Menerima laporan dari berbagai kanal.
2. Memvalidasi format dan keamanan berkas.
3. Memisahkan identitas dari isi laporan.
4. Mengekstrak teks, suara, gambar, metadata, dan entitas.
5. Menyusun kronologi awal.
6. Menanyakan informasi yang belum lengkap.
7. Mencari konteks dan sumber pendukung yang sah.
8. Menghubungkan laporan dengan entitas atau kasus lain.
9. Menilai konsistensi dan kontradiksi.
10. Memperbarui skor risiko dan hipotesis.
11. Membentuk paket kasus untuk verifikasi.
12. Mengirim kasus kepada pihak manusia sesuai kebutuhan dan kewenangan.

```mermaid
flowchart LR
    A[Laporan masyarakat] --> B[Intake dan validasi]
    B --> C[Pemisahan identitas]
    C --> D[Ekstraksi bukti]
    D --> E[Analisis multi-agent AI]
    F[Sumber publik yang sah] --> E
    E --> G[Korelasi lintas laporan]
    G --> H[Penilaian risiko]
    H --> I[Paket kasus]
    I --> J[Relawan atau pemeriksa terbatas]
    J --> K[Rekomendasi tindak lanjut]
    K --> L[Audit dan pemantauan]
    L --> E
```

---

## 7. Kanal Pelaporan Target

### 7.1 Form Aduan

Digunakan untuk laporan lengkap dan terstruktur, kronologi, entitas terkait, lokasi, tanggal, nilai transaksi, dan bukti.

### 7.2 Web Chat

Percakapan langsung dengan AI melalui browser. Cocok untuk pelapor yang membutuhkan panduan langkah demi langkah.

### 7.3 Telegram

Bot pelaporan terstruktur untuk teks, foto, dokumen, audio, dan tindak lanjut kasus.

### 7.4 WhatsApp

Kanal yang mudah diakses masyarakat. Perlu penjelasan risiko metadata dan pemisahan antara akun komunikasi publik dengan kanal intake laporan.

### 7.5 Secure Document Drop

Kanal khusus untuk pengiriman berkas sensitif dengan proteksi lebih tinggi, enkripsi, batas ukuran, sanitasi metadata, dan pemeriksaan malware.

---

## 8. Alur Pemrosesan Laporan

### Tahap 1 — Penerimaan

- Sistem menerima pesan, form, dokumen, foto, video, atau audio.
- Sistem membuat nomor kasus unik.
- Kanal, waktu, dan metadata penerimaan dicatat.

### Tahap 2 — Sanitasi dan pemisahan identitas

- Nomor telepon, alamat, rekening, wajah, tanda tangan, metadata perangkat, dan informasi pribadi dipisahkan.
- Isi kasus menggunakan identitas pseudonim.
- Identitas asli disimpan pada Identity Vault terpisah.

### Tahap 3 — Ekstraksi

- OCR untuk dokumen dan gambar.
- Speech-to-text untuk audio atau video.
- Document understanding untuk formulir, kontrak, invoice, surat, dan tabel.
- Named Entity Recognition untuk orang, organisasi, perusahaan, proyek, rekening, tanggal, lokasi, nilai, dan nomor dokumen.

### Tahap 4 — Analisis

- Kelengkapan unsur laporan.
- Konsistensi kronologi.
- Deteksi kontradiksi.
- Identifikasi risiko keselamatan pelapor.
- Klasifikasi indikasi pelanggaran.
- Pencarian keterkaitan antarbukti.
- Pembuatan hipotesis sementara.

### Tahap 5 — Korelasi

Laporan dapat dikaitkan berdasarkan:

- nama orang;
- perusahaan atau vendor;
- pemilik manfaat;
- proyek atau paket pengadaan;
- rekening;
- alamat;
- nomor telepon;
- lokasi;
- tanggal;
- nilai transaksi;
- dokumen;
- pola bahasa;
- hubungan organisasi;
- laporan lain.

### Tahap 6 — Paket kasus

Paket kasus dapat berisi:

- ringkasan eksekutif;
- kronologi;
- daftar klaim;
- daftar bukti;
- sumber dan provenance;
- graf hubungan;
- kontradiksi;
- informasi yang belum lengkap;
- tingkat risiko;
- rekomendasi pemeriksaan;
- batasan analisis AI.

### Tahap 7 — Verifikasi manusia

Kasus dapat dirujuk kepada relawan atau mitra yang memiliki kompetensi relevan, dengan akses terbatas dan tercatat.

---

## 9. Arsitektur Konseptual Tingkat Tinggi

```mermaid
flowchart TB
    subgraph Channels[Public Reporting Channels]
        Form[Form Aduan]
        Chat[Web Chat]
        TG[Telegram]
        WA[WhatsApp]
        Drop[Secure Document Drop]
    end

    subgraph Edge[Secure Intake Edge]
        Gateway[API and Channel Gateway]
        Malware[Malware and File Scan]
        Rate[Rate Limit and Abuse Defense]
        Normalize[Message Normalization]
    end

    subgraph Privacy[Privacy Boundary]
        PII[PII Detection and Redaction]
        Vault[Identity Vault]
        Pseudo[Pseudonymous Case Identity]
    end

    subgraph AI[AI Investigation Layer]
        IntakeAgent[Intake Agent]
        EvidenceAgent[Evidence Extraction Agent]
        ResearchAgent[Open Source Research Agent]
        CorrelationAgent[Correlation Agent]
        RiskAgent[Risk and Safety Agent]
        ReportAgent[Case Report Agent]
        Guard[Policy and Safety Guard]
    end

    subgraph Data[Data and Evidence]
        CaseDB[Case Database]
        Evidence[Evidence Object Store]
        Graph[Entity and Relationship Graph]
        Search[Search and Vector Index]
        Audit[Immutable Audit Log]
    end

    subgraph Human[Human Oversight]
        Investigator[Aktivis Investigasi]
        Consultant[Konsultan Sukarelawan]
        Advocate[Advokat Relawan]
        Auditor[Auditor and Security Reviewer]
        Governance[Multi-party Governance]
    end

    Channels --> Gateway
    Gateway --> Malware
    Gateway --> Rate
    Malware --> Normalize
    Normalize --> PII
    PII --> Vault
    PII --> Pseudo
    Pseudo --> IntakeAgent
    IntakeAgent --> EvidenceAgent
    EvidenceAgent --> ResearchAgent
    ResearchAgent --> CorrelationAgent
    CorrelationAgent --> RiskAgent
    RiskAgent --> ReportAgent
    Guard --> AI

    AI --> CaseDB
    AI --> Evidence
    AI --> Graph
    AI --> Search
    AI --> Audit

    ReportAgent --> Human
    Governance --> Vault
    Human --> Audit
```

---

## 10. Komponen Arsitektur Target

### 10.1 Public Web Layer

Tanggung jawab:

- landing page;
- informasi publik;
- berita;
- statistik agregat;
- transparansi donasi;
- kebijakan privasi;
- landasan hukum;
- status layanan;
- akses ke kanal pelaporan.

### 10.2 Channel Gateway

Menyatukan seluruh kanal masuk menjadi format pesan yang konsisten.

Contoh struktur normalisasi:

```json
{
  "channel": "telegram",
  "external_message_id": "...",
  "received_at": "...",
  "sender_reference": "encrypted-reference",
  "message_type": "text|image|audio|document",
  "content_reference": "object-store-key",
  "metadata": {}
}
```

### 10.3 Case Intake Service

Tanggung jawab:

- membuat kasus;
- menentukan nomor kasus;
- memecah percakapan menjadi klaim;
- meminta informasi tambahan;
- mengatur status intake;
- menjaga idempotensi pesan.

### 10.4 Identity Vault

Penyimpanan terpisah untuk identitas asli pelapor.

Karakteristik:

- enkripsi terpisah;
- key management khusus;
- tidak dapat diakses layanan analisis biasa;
- pembukaan identitas melalui multi-party approval;
- audit wajib;
- kebijakan retensi minimum.

### 10.5 Evidence Service

Tanggung jawab:

- menyimpan file asli;
- menyimpan versi yang telah disanitasi;
- menghitung hash;
- menyimpan timestamp;
- mencatat sumber;
- mencatat transformasi;
- menjaga chain of custody.

### 10.6 AI Orchestrator

Mengatur agen AI, policy checks, retry, evaluasi, dan batas akses alat.

Agen yang direncanakan:

- Intake Agent;
- Privacy Redaction Agent;
- Evidence Extraction Agent;
- Timeline Agent;
- Entity Resolution Agent;
- Open Source Research Agent;
- Correlation Agent;
- Financial Pattern Agent;
- Procurement Analysis Agent;
- Contradiction Agent;
- Safety and Retaliation Risk Agent;
- Legal Issue Spotting Agent;
- Case Report Agent;
- Quality Review Agent.

### 10.7 Research Connector Layer

Digunakan untuk sumber yang sah dan dapat dipertanggungjawabkan.

Contoh sumber target:

- situs resmi pemerintah;
- pengumuman pengadaan;
- data perusahaan;
- putusan pengadilan;
- laporan audit;
- berita publik;
- laporan organisasi masyarakat sipil;
- open data;
- dokumen yang diberikan pelapor;
- database mitra berizin.

Setiap hasil pencarian harus menyimpan:

- URL atau sumber;
- waktu akses;
- cuplikan relevan;
- checksum bila memungkinkan;
- klasifikasi keandalan;
- aturan penggunaan;
- hubungan dengan klaim kasus.

### 10.8 Entity and Relationship Graph

Graf digunakan untuk menghubungkan orang, organisasi, proyek, vendor, transaksi, lokasi, dokumen, dan laporan.

Node contoh:

- Person;
- Organization;
- Company;
- Government Unit;
- Project;
- Procurement Package;
- Bank Account;
- Address;
- Phone Number;
- Document;
- Transaction;
- Case;
- Evidence.

Edge contoh:

- owns;
- controls;
- works_for;
- awarded_to;
- transferred_to;
- signed_by;
- located_at;
- mentioned_in;
- related_to;
- reported_in.

### 10.9 Search and Vector Index

Digunakan untuk:

- pencarian semantik;
- pencarian bukti serupa;
- pencarian laporan dengan pola narasi sejenis;
- pencarian dokumen terkait;
- deduplikasi;
- retrieval untuk agen AI.

### 10.10 Audit Service

Mencatat:

- login;
- akses kasus;
- akses identitas;
- perubahan status;
- pengunduhan bukti;
- penggunaan alat AI;
- versi model;
- prompt policy version;
- keputusan relawan;
- persetujuan multi-pihak;
- ekspor laporan;
- penghapusan atau retensi data.

---

## 11. Peran Relawan dan Manusia

### 11.1 Aktivis Investigasi

- memahami konteks lapangan;
- menilai kredibilitas sumber;
- membantu verifikasi terbatas;
- menemukan konteks lokal;
- menyarankan sumber tambahan.

### 11.2 Konsultan Sukarelawan

Bidang yang mungkin diperlukan:

- keuangan;
- audit;
- pengadaan;
- teknologi informasi;
- lingkungan;
- konstruksi;
- kesehatan;
- pendidikan;
- perpajakan;
- pertanahan;
- sektor publik.

### 11.3 Advokat Relawan

- menilai risiko hukum;
- membantu perlindungan pelapor;
- menentukan opsi rujukan;
- menilai admissibility dan batas penggunaan bukti;
- membantu respons terhadap intimidasi atau retaliasi.

### 11.4 Auditor dan Ahli Keamanan

- mengaudit kontrol akses;
- memeriksa jejak audit;
- menguji keamanan;
- menilai model risiko;
- memeriksa kepatuhan proses;
- melakukan review independen.

### 11.5 Batas akses relawan

Relawan tidak memperoleh akses bebas ke seluruh sistem. Akses harus:

- berbasis kasus;
- berbasis tugas;
- memiliki waktu kedaluwarsa;
- disetujui sesuai kebijakan;
- dicatat dalam audit log;
- tidak otomatis membuka identitas pelapor.

---

## 12. Tata Kelola

### 12.1 Tiga lapisan tata kelola

#### Autonomous Operations

Aktivitas rutin dijalankan otomatis oleh sistem dan agen AI dalam batas kebijakan.

#### Blind Administration

Administrator mengelola server dan layanan tanpa hak rutin membaca kasus.

#### Exceptional Governance

Tindakan sensitif membutuhkan proses pengecualian, alasan, persetujuan multi-pihak, dan audit.

### 12.2 Multi-party approval

Diperlukan untuk tindakan seperti:

- membuka identitas asli;
- memberikan akses penuh ke bukti sensitif;
- mengekspor paket kasus lengkap;
- menghapus data sebelum masa retensi;
- menyerahkan data kepada pihak eksternal;
- memulihkan kunci khusus;
- mengubah kebijakan kritis.

### 12.3 Konflik kepentingan

Setiap relawan, auditor, mitra, atau pengelola harus dapat menyatakan konflik kepentingan. Sistem harus mencegah assignment kasus kepada pihak yang memiliki hubungan dengan subjek laporan.

---

## 13. Keamanan dan Privasi

### 13.1 Kontrol utama

- TLS untuk data in transit;
- enkripsi data at rest;
- kunci terpisah untuk Identity Vault;
- secrets management;
- role-based dan attribute-based access control;
- multi-factor authentication;
- session security;
- rate limiting;
- anti-bot dan abuse prevention;
- malware scanning;
- metadata sanitization;
- file type validation;
- immutable audit trail;
- backup terenkripsi;
- disaster recovery;
- incident response;
- security review berkala.

### 13.2 Ancaman yang dipertimbangkan

- kebocoran identitas;
- pengambilalihan akun;
- insider threat;
- admin abuse;
- donor influence;
- prompt injection;
- data poisoning;
- malicious attachments;
- false reports;
- coordinated spam;
- doxxing;
- retaliation risk;
- model hallucination;
- evidence tampering;
- unauthorized correlation;
- scraping dan enumeration.

### 13.3 Prinsip minimisasi data

Sistem hanya menyimpan data yang diperlukan. Data harus memiliki:

- tujuan pemrosesan;
- dasar kebijakan;
- klasifikasi sensitivitas;
- masa retensi;
- aturan penghapusan;
- pemilik kontrol;
- riwayat akses.

---

## 14. Transparansi Donasi

WBS AI dirancang didukung donasi sukarela masyarakat.

### 14.1 Prinsip

- transparan;
- sukarela;
- tidak memberi kendali kasus;
- tidak menjamin hasil;
- tidak membeli prioritas;
- dapat diaudit;
- penggunaan dana dipublikasikan secara agregat.

### 14.2 Kategori penggunaan dana

- server dan infrastruktur;
- penyimpanan terenkripsi;
- keamanan dan penetration testing;
- pengembangan AI;
- audit independen;
- biaya komunikasi;
- bantuan hukum dan perlindungan pelapor;
- operasional nonprofit;
- pemulihan bencana;
- pengembangan kanal publik.

### 14.3 Data yang dapat dipublikasikan

- total penerimaan;
- total pengeluaran;
- saldo;
- jumlah donatur;
- distribusi metode pembayaran;
- kategori penggunaan dana;
- laporan periode;
- transaksi yang telah dianonimkan;
- audit eksternal.

Data donor pribadi tidak boleh dipublikasikan tanpa persetujuan.

---

## 15. Arsitektur Aplikasi Saat Ini

Stack saat ini:

- Node.js;
- Express;
- static HTML;
- CSS lokal;
- JavaScript lokal;
- Lucide Icons lokal;
- MySQL melalui `mysql2/promise`;
- Helmet;
- Compression;
- dotenv.

```mermaid
flowchart LR
    Browser[Browser] --> Proxy[Reverse Proxy / TLS]
    Proxy --> Express[Express Server]
    Express --> Static[Static HTML CSS JS]
    Express --> Health[Health Endpoints]
    Health --> MySQL[(MySQL)]
```

### 15.1 Server

File: `server.js`

Fungsi:

- menjalankan Express;
- menonaktifkan `x-powered-by`;
- menerapkan Helmet dan CSP;
- menerapkan compression;
- menyajikan file statis;
- menyediakan `/health`;
- menyediakan `/health/database`;
- menangani 404 dan 500;
- graceful shutdown.

### 15.2 Database awal

File: `database/schema.sql`

Tabel yang tersedia:

#### `system_settings`

Menyimpan konfigurasi sistem dalam format JSON dan penanda apakah nilai dapat dipublikasikan.

#### `public_updates`

Menyimpan berita atau pembaruan publik dengan status draft, published, atau archived.

Schema ini masih sangat awal dan belum mencakup kasus, bukti, identitas, relawan, audit, maupun donasi produksi.

---

## 16. Struktur Folder Proyek

```text
/home/wbs
├── .env
├── .env.example
├── .gitignore
├── README.md
├── package.json
├── package-lock.json
├── server.js
├── database
│   └── schema.sql
├── docs
│   └── SYSTEM_ARCHITECTURE.md
└── public
    ├── index.html
    ├── berita.html
    ├── berita-detail.html
    ├── statistik.html
    ├── donasi.html
    ├── tentang-kami.html
    ├── kontak.html
    ├── landasan-hukum.html
    ├── kebijakan-privasi.html
    ├── prinsip-ai.html
    ├── 404.html
    ├── 500.html
    └── assets
        ├── styles.css
        ├── app.js
        ├── logo.svg
        └── lucide.min.js
```

---

## 17. Struktur Halaman Publik

| Route | Fungsi |
|---|---|
| `/` | Landing page utama |
| `/berita` | Portal berita dan pembaruan platform |
| `/berita-detail` | Template detail artikel |
| `/statistik` | Dashboard statistik laporan dengan data simulasi |
| `/donasi` | Transparansi donasi dengan data simulasi |
| `/tentang-kami` | Profil, visi, misi, tata kelola, roadmap |
| `/kontak` | Kanal komunikasi publik dan penjelasan operasi daring |
| `/landasan-hukum` | Kerangka hukum dan prinsip kepatuhan |
| `/kebijakan-privasi` | Penjelasan privasi |
| `/prinsip-ai` | Prinsip penggunaan AI |
| `/health` | Status aplikasi |
| `/health/database` | Status koneksi MySQL |

---

## 18. Navigasi Publik

Menu utama:

- Beranda;
- Berita;
- Statistik;
  - Dashboard;
  - Donasi;
- Tentang Kami;
- Landasan Hukum;
- Kontak;
- Kanal Pelaporan.

Menu Statistik merupakan tombol dropdown dan tidak langsung membuka halaman. Pengguna memilih Dashboard atau Donasi dari submenu.

---

## 19. Model Data Target

Berikut kelompok entitas yang direncanakan.

### 19.1 Case Management

- `cases`
- `case_channels`
- `case_messages`
- `case_claims`
- `case_timelines`
- `case_status_history`
- `case_risk_assessments`
- `case_assignments`

### 19.2 Identity and Privacy

- `reporter_identities`
- `reporter_pseudonyms`
- `identity_access_requests`
- `identity_access_approvals`
- `redaction_jobs`
- `data_retention_policies`

### 19.3 Evidence

- `evidence_items`
- `evidence_files`
- `evidence_hashes`
- `evidence_transformations`
- `evidence_sources`
- `evidence_access_logs`
- `chain_of_custody_events`

### 19.4 Entities and Relations

- `entities`
- `entity_aliases`
- `entity_identifiers`
- `entity_relationships`
- `case_entities`
- `evidence_entities`

### 19.5 AI Operations

- `ai_runs`
- `ai_agents`
- `ai_model_versions`
- `ai_findings`
- `ai_hypotheses`
- `ai_citations`
- `ai_policy_decisions`
- `ai_quality_reviews`

### 19.6 Human Collaboration

- `volunteers`
- `volunteer_skills`
- `volunteer_conflicts`
- `review_tasks`
- `review_findings`
- `legal_reviews`
- `audit_reviews`

### 19.7 Governance and Audit

- `users`
- `roles`
- `permissions`
- `access_grants`
- `approval_requests`
- `approval_votes`
- `audit_events`
- `security_incidents`

### 19.8 Donation Transparency

- `donors`
- `donations`
- `donation_channels`
- `fund_accounts`
- `fund_transactions`
- `fund_allocations`
- `expense_categories`
- `public_financial_reports`

---

## 20. Status Kasus Target

Contoh status:

```text
Draft
Received
Sanitizing
Needs More Information
Under AI Analysis
Under Correlation
Risk Review
Ready for Human Review
Under Investigation Review
Legal Review
Referred
Monitoring
Closed
Archived
Rejected as Spam
```

Status tidak boleh digunakan untuk menyatakan seseorang bersalah.

---

## 21. Skema Risiko Target

Risiko dapat dinilai secara terpisah:

- risiko keselamatan pelapor;
- risiko retaliasi;
- risiko hilangnya bukti;
- risiko kepentingan publik;
- urgensi waktu;
- risiko manipulasi laporan;
- risiko konflik kepentingan;
- sensitivitas identitas;
- sensitivitas hukum;
- kredibilitas awal bukti.

Skor harus selalu disertai alasan dan sumber, bukan hanya angka.

---

## 22. Quality Assurance untuk AI

Setiap hasil AI sebaiknya memiliki:

- model dan versi;
- timestamp;
- input references;
- citation atau evidence references;
- confidence yang dapat dijelaskan;
- policy checks;
- hallucination checks;
- contradiction checks;
- review status;
- batasan analisis.

Temuan AI harus dibedakan dari:

- pernyataan pelapor;
- fakta terverifikasi;
- sumber publik;
- inferensi;
- opini manusia;
- keputusan hukum.

---

## 23. Observability dan Operasional

Komponen observability target:

- application logs;
- security logs;
- audit logs;
- metrics;
- distributed tracing;
- AI run monitoring;
- queue monitoring;
- storage health;
- database health;
- source connector health;
- alerting;
- incident dashboard.

Data log tidak boleh membocorkan identitas atau isi laporan sensitif.

---

## 24. Deployment Target

Arsitektur produksi ideal dapat dipisahkan menjadi:

- public web zone;
- secure intake zone;
- privacy zone;
- AI processing zone;
- evidence storage zone;
- governance zone;
- monitoring zone.

```mermaid
flowchart TB
    Internet --> WAF[WAF and Reverse Proxy]
    WAF --> Public[Public Web Zone]
    WAF --> Intake[Secure Intake Zone]
    Intake --> Privacy[Privacy and Identity Zone]
    Privacy --> AI[AI Processing Zone]
    AI --> Data[Case and Evidence Zone]
    Governance[Governance Zone] --> Privacy
    Governance --> Data
    Monitor[Monitoring Zone] --> Public
    Monitor --> Intake
    Monitor --> AI
    Monitor --> Data
```

Identity Vault sebaiknya tidak berada pada jaringan atau kredensial yang sama dengan public web dan AI processing.

---

## 25. Roadmap Pengembangan

### Fase 1 — Fondasi publik

- situs publik;
- prinsip privasi dan AI;
- berita;
- dashboard simulasi;
- transparansi donasi simulasi;
- health checks.

### Fase 2 — Secure intake minimum

- form laporan;
- nomor kasus;
- upload bukti;
- sanitasi file;
- pemisahan identitas dasar;
- dashboard kasus internal minimum.

### Fase 3 — AI-assisted intake

- percakapan terstruktur;
- ekstraksi dokumen;
- penyusunan kronologi;
- pemeriksaan kelengkapan;
- ringkasan kasus.

### Fase 4 — Correlation and research

- entity resolution;
- graph database;
- pencarian sumber terbuka;
- korelasi lintas laporan;
- provenance.

### Fase 5 — Volunteer network

- onboarding relawan;
- skill matching;
- conflict checks;
- task assignment;
- legal dan investigation review.

### Fase 6 — Advanced governance

- Identity Vault penuh;
- multi-party approval;
- immutable audit;
- external audit;
- incident response formal.

### Fase 7 — Public accountability

- laporan transparansi nyata;
- audit donasi;
- statistik agregat produksi;
- publikasi metodologi;
- evaluasi dampak.

---

## 26. Keputusan Desain Penting

1. Tidak ada kantor fisik sebagai pusat penerimaan laporan.
2. Sistem beroperasi daring dan terdistribusi.
3. AI menjalankan pekerjaan rutin tetapi bukan pengambil keputusan hukum final.
4. Identitas dipisahkan dari isi laporan.
5. Administrator tidak otomatis memiliki akses konten.
6. Donor tidak memiliki kendali kasus.
7. Akses relawan berbasis kebutuhan dan tercatat.
8. Sumber pencarian AI harus sah.
9. Data publik harus agregat dan tidak membocorkan kasus.
10. Fitur yang belum aktif harus diberi penanda yang jujur.

---

## 27. Batasan Sistem

WBS AI tidak menjamin:

- setiap laporan benar;
- setiap laporan dapat diverifikasi;
- setiap kasus akan diproses penegak hukum;
- setiap bukti dapat digunakan dalam proses hukum;
- AI selalu akurat;
- identitas anonim sepenuhnya tanpa risiko pada kanal pihak ketiga;
- hasil tertentu bagi pelapor.

Sistem harus mengomunikasikan batasan tersebut secara jelas.

---

## 28. Definition of Done untuk Modul Produksi

Sebuah modul sensitif belum dianggap siap produksi sebelum memiliki:

- threat model;
- privacy review;
- security review;
- access control;
- audit logging;
- data retention policy;
- error handling;
- backup and recovery;
- monitoring;
- incident response;
- user-facing disclosure;
- test coverage;
- abuse testing;
- AI evaluation bila memakai AI.

---

## 29. Catatan Pengembangan Saat Ini

- Halaman situs masih berorientasi UI/UX.
- Chart dibuat lokal dengan SVG dan CSS untuk menjaga CSP tanpa CDN eksternal.
- Lucide Icons disimpan lokal.
- Data statistik dan donasi bersifat dummy.
- Express menggunakan static extension resolution sehingga route tanpa `.html` dapat dilayani.
- Cache file statis di production menggunakan `maxAge` satu jam; query version pada CSS dan JS digunakan untuk cache busting.
- Aplikasi saat ini dijalankan pada port default `5062` dan host default `127.0.0.1`, dapat diubah melalui environment variable.

---

## 30. Kesimpulan

WBS AI dirancang sebagai sistem whistleblower berbasis AI yang aman, independen, nonprofit, dan berorientasi kepentingan publik. Sistem memadukan otomatisasi 24/7, pencarian sumber sah, korelasi lintas laporan, perlindungan identitas, relawan manusia, tata kelola multi-pihak, audit, dan transparansi pendanaan.

Implementasi saat ini merupakan fondasi publik dan prototipe UI/UX. Pengembangan berikutnya harus memprioritaskan privacy-by-design, security-by-design, evidence integrity, akses minimum, tata kelola independen, dan komunikasi yang jujur mengenai kemampuan serta keterbatasan AI.
