> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Log Audit: Pelacakan Aktivitas API & Kepatuhan

> Lacak seluruh aktivitas API dengan log audit yang dapat dicari di Didit. Filter berdasarkan pengguna, metode, status, dan rentang tanggal untuk audit kepatuhan.

Log audit menyediakan catatan lengkap dan dapat dicari atas seluruh aktivitas API dalam organisasi Anda. Setiap permintaan ke platform Didit, baik dari Console, integrasi Anda, maupun anggota tim, dicatat secara otomatis untuk keperluan keamanan, kepatuhan, dan pemecahan masalah.

![Log audit di konsol Didit](https://mintcdn.com/didit-0f962782/ibesJiSLVa9jZb5z/images/console-audit-logs.jpg?fit=max\&auto=format\&n=ibesJiSLVa9jZb5z\&q=85\&s=bcd436f764486143268f5c5ca67d9d14)

***

## Mengapa log audit?

| Tantangan | Solusi |
| - | - |
| Persyaratan kepatuhan regulasi | Jejak audit lengkap atas seluruh aktivitas, sejauh paket Anda menyimpannya |
| Investigasi insiden keamanan | Telusuri secara tepat siapa yang melakukan apa dan kapan |
| Debugging masalah integrasi | Lihat jalur, status, dan isi body yang telah disunting dari setiap permintaan |
| Akuntabilitas tim | Lacak anggota tim mana yang mengakses data apa |
| Pemantauan penggunaan | Pahami pola konsumsi API |

***

## Mengakses log audit

Buka **Settings > Organization > Audit log** di Didit Console. Antarmuka menampilkan daftar permintaan API dalam organisasi Anda secara kronologis.

Setiap entri log mencakup:

| Kolom | Deskripsi |
| - | - |
| **Stempel waktu** | Kapan permintaan dibuat |
| **Pengguna** | Siapa yang melakukannya: email anggota tim yang terautentikasi; nama kunci API yang membuat permintaan, ditandai **kunci API**; atau **The Investigator**, untuk keputusan yang diambilnya sendiri |
| **Metode** | Metode HTTP (GET, POST, PUT, DELETE) |
| **Jalur** | Endpoint API yang dipanggil |
| **Status** | Kode status respons HTTP |
| **Alamat** | IP asal permintaan |
| **Application** | Aplikasi yang terkait dengan permintaan |

### Keputusan yang diambil The Investigator

Setiap keputusan yang diambil [Investigator](https://docs.didit.me/id/console/investigator.md) secara mandiri dicatat di bawah **The Investigator**, bukan di bawah anggota atau kunci API: menyetujui atau menolak sesi atau meminta pengiriman ulang, menetapkan status transaksi, serta menyelesaikan kasus, mengeskalasikannya, atau meminta informasi terkait kasus tersebut.
Entri tersebut menautkan ke laporan Investigator yang mendasari keputusan itu.
Ketika seseorang menerima atau mengesampingkan rekomendasi Investigator, entri dicatat atas nama orang tersebut.

***

## Pemfilteran dan pencarian

Antarmuka Log Audit menyediakan kemampuan pemfilteran yang kuat untuk membantu Anda menemukan persis yang Anda cari.

### Pencarian cerdas

Kolom pencarian secara otomatis mendeteksi apa yang Anda cari:

| Jenis pencarian | Contoh | Perilaku |
| - | - | - |
| **Jalur persis** | `/v1/organization/.../sessions/` | Menemukan log dengan jalur permintaan persis ini |
| **Email persis** | `admin@company.com` | Menemukan log dari pengguna spesifik ini |
| **IP persis** | `192.168.1.100` | Menemukan log dari alamat IP ini |
| **Wildcard** | `/v1/*/analytics/*` | Mencocokkan pola dengan wildcard |
| **Teks umum** | `sessions` | Pencarian samar di seluruh kolom |

### Filter yang tersedia

| Filter | Deskripsi | Contoh |
| - | - | - |
| **Application** | Filter berdasarkan aplikasi tertentu | Pilih dari daftar tarik-turun |
| **Anggota dan kunci API** | Filter berdasarkan kunci API yang membuat permintaan | Pilih kunci dari aplikasi yang dipilih |
| **Aktor** | Tampilkan hanya aktivitas yang dilakukan oleh anggota, kunci API, atau The Investigator | **The Investigator** |
| **Metode** | Filter berdasarkan metode HTTP | `GET`, `POST`, `PUT`, `DELETE` |
| **Kode status** | Filter berdasarkan status respons | `200`, `401`, `500` |
| **Rentang tanggal** | Filter berdasarkan periode waktu | 7 hari terakhir, rentang kustom |

***

## Retensi data

Paket Anda menentukan seberapa jauh ke belakang Anda dapat membaca log audit dan apakah Anda dapat mengekspornya:

| Paket | Seberapa jauh ke belakang | Ekspor |
| - | - | - |
| Free | 30 hari | Tidak |
| Growth | 1 tahun | Tidak |
| Scale | 3 tahun | Ya |
| Enterprise | Ditetapkan sesuai kontrak Anda | Ya |

Ekspor pada paket yang tidak memilikinya akan mengembalikan `403` dengan `"code": "plan_limit_exceeded"`.

***

## Keamanan dan privasi

### Yang dicatat

Log audit menangkap metadata tentang permintaan API:

* Stempel waktu dan durasi permintaan
* Identitas pengguna (email, ID pengguna), atau kunci API yang membuat permintaan (namanya dan beberapa karakter pertama rahasianya, tidak pernah rahasia lengkap)
* Jalur permintaan dan parameter query
* Kode status respons
* Alamat IP klien dan user agent

### Isi permintaan dan respons dari panggilan kunci API

Untuk panggilan yang dibuat dengan kunci API, log audit juga menyimpan salinan yang telah disunting dari body JSON permintaan tulis dan respons terhadap permintaan tulis atau kesalahan, sehingga Anda dapat melihat alasan panggilan gagal.
Respons terhadap permintaan baca yang berhasil tidak disimpan.

Penyuntingan bersifat default-deny:

* Struktur tetap dipertahankan: nama kolom, nesting, tipe nilai, panjang array, dan panjang string.
* Sebuah nilai hanya dipertahankan jika merupakan pengenal, status, kode, jumlah, atau stempel waktu milik Didit sendiri, pada kolom yang didefinisikan Didit, dengan bentuk yang diharapkan kolom tersebut.
* Nilai boolean hanya dipertahankan pada kolom yang didefinisikan Didit.
* Setiap nilai lain diganti dengan penanda yang menyebutkan tipe dan panjangnya, seperti `[redacted:string:12]`, `[redacted:number:5]`, atau `[redacted:boolean]`, sedangkan `null` tetap `null`.
* Nama kolom yang bukan pengenal sederhana, seperti alamat email atau nomor telepon yang dipakai sebagai kunci, diganti dengan `[redacted:key:23]`.
* Body yang bukan JSON, seperti formulir atau unggahan berkas, diganti dengan catatan yang menyebutkan jenisnya.
* Hasil yang tersisa dipotong pada 4.096 karakter.

Parameter query melalui penyuntingan yang sama.
Hanya header standar seperti `content-type`, `user-agent`, dan header batas laju yang dipertahankan; header lain dibuang beserta nilainya.
Nilai yang dikirim sistem Anda sendiri, misalnya dalam `metadata` atau `vendor_data`, tidak pernah disimpan, bahkan jika nama kolomnya mirip dengan kolom milik Didit.

### Yang tidak dicatat

Untuk melindungi data sensitif, hal-hal berikut dikecualikan secara otomatis:

* Token autentikasi dan kredensial
* Kata sandi dan rahasia
* Data pribadi dari sesi verifikasi

### Kontrol akses

Melihat log audit memerlukan izin baca dan daftar `audit-logs`. Peran Reader, Petugas Kepatuhan, Pengembang, Admin, dan Owner semuanya memiliki izin tersebut, dan [peran kustom](https://docs.didit.me/id/console/roles-permissions.md) mendapatkannya dengan memilih Log audit di editor peran.

***

## Kasus penggunaan umum

> [accordion] Audit kepatuhan
>
> Tunjukkan kepada auditor bahwa Anda memiliki visibilitas penuh terhadap siapa saja yang mengakses data verifikasi:
>
> 1. Filter berdasarkan rentang tanggal yang sesuai dengan periode audit
> 2. Filter berdasarkan aplikasi atau pengguna tertentu jika diperlukan
> 3. Ekspor atau ambil tangkapan layar hasilnya untuk dokumentasi

> [accordion] Investigasi keamanan
>
> Jika Anda menduga adanya akses tidak sah:
>
> 1. Cari email pengguna yang terdampak atau alamat IP yang mencurigakan
> 2. Filter berdasarkan rentang tanggal di sekitar insiden yang diduga
> 3. Perhatikan pola yang tidak biasa: upaya autentikasi yang gagal, endpoint yang tidak terduga, jam yang tidak wajar

> [accordion] Debugging integrasi
>
> Saat memecahkan masalah integrasi API:
>
> 1. Cari path endpoint tertentu
> 2. Filter berdasarkan kode status `4xx` atau `5xx` untuk menemukan error
> 3. Catat timestamp untuk dikorelasikan dengan log aplikasi Anda

> [accordion] Tinjauan aktivitas tim
>
> Pantau bagaimana tim Anda menggunakan platform:
>
> 1. Filter berdasarkan email anggota tim tertentu
> 2. Tinjau sesi dan fitur apa saja yang mereka akses
> 3. Pastikan anggota tim mengikuti prosedur yang benar

***

## Praktik terbaik

1. **Tinjauan rutin**: tinjau log audit secara berkala untuk mendeteksi anomali sejak dini.
2. **Persempit pencarian Anda**: gunakan filter spesifik untuk mengurangi noise dan menemukan entri yang relevan lebih cepat.
3. **Rentang tanggal**: selalu tentukan rentang tanggal untuk performa yang lebih baik pada dataset besar.
4. **Tandai pencarian sebagai bookmark**: simpan kombinasi filter yang sering digunakan sebagai bookmark browser agar lebih cepat diakses.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.