Dokumentasi Developer

Keamanan & data

Kelola API key dan izin dengan aman, serta pahami catatan yang dapat diakses setiap integrasi.

Penanganan API key

  • API key (alt_live_...) hanya ditampilkan sekali saat dibuat. Kami hanya menyimpan keyed hash dari secret-nya, jadi key tidak akan pernah bisa ditampilkan lagi โ€” kalau hilang, Anda harus merotasinya.
  • Signing secret webhook (whsec_...) juga hanya ditampilkan sekali. Secret disimpan terenkripsi (AES-256-GCM) dan hanya didekripsi untuk menandatangani pengiriman keluar โ€” tidak pernah ditampilkan ulang. Untuk merotasinya, buat ulang endpoint-nya; secret baru akan diterbitkan.
  • Simpan key di secret manager. Jangan pernah menanamkannya di kode sisi klien, aplikasi mobile, atau repository.
  • Rotasi lewat console: terbitkan key baru pada integration yang sama, pindahkan sistem Anda ke key tersebut, lalu cabut key lama. Pencabutan berlaku seketika.
  • Anda juga bisa menetapkan masa berlaku saat membuat key; key yang kedaluwarsa otomatis ditolak.
  • Satu key untuk satu sistem. Pisahkan staging dari production supaya mencabut salah satunya tidak mematikan yang lain.
  • Tidak ada sandbox maupun mode uji โ€” setiap key yang diterbitkan adalah key live dan membaca catatan sungguhan. Gunakan integration terpisah untuk staging dan production; dan untuk menguji receiver tanpa menunggu rekaman nyata, manfaatkan event verifikasi yang dikirim saat endpoint dibuat atau "Kirim tes" di console.

Data yang dapat diakses setiap integrasi

  • Integration pribadi hanya melihat catatan pribadi milik pemiliknya. Integration teamspace hanya melihat catatan yang dibagikan ke teamspace tersebut โ€” tidak pernah catatan pribadi anggotanya.
  • Integration teamspace hanya bisa dibuat oleh pemilik teamspace.
  • Catatan di luar cakupan sebuah kredensial mengembalikan 404 โ€” API tidak mengungkapkan apakah catatan itu ada atau tidak.
  • Saat sebuah catatan keluar dari cakupan Anda, Anda menerima note.deleted (reason: access_lost) dan catatan itu hilang dari daftar Anda. Hapus atau blokir akses ke salinan yang Anda simpan.

Cakupan izin (scope)

Cakupan izinIzin yang diberikan
notes:readMengambil daftar catatan dan membaca metadata catatan.
transcripts:readMembaca teks transkrip dan segmen pembicara.
summaries:readMembaca ringkasan (Markdown).
webhooks:manageMembuat, memperbarui, menghapus, dan menguji endpoint webhook lewat API publik.

Berikan hanya izin yang dibutuhkan integrasi. Request yang memerlukan izin yang tidak dimiliki API key akan gagal dengan 403 insufficient_scope.

Batas request API

  • 120 request per menit per key. Jika terlampaui, API mengembalikan 429 rate_limited beserta header Retry-After โ€” tunggu setidaknya selama itu sebelum mencoba lagi.
  • Utamakan webhook plus sinkronisasi inkremental (updated_after) ketimbang polling beruntun.
  • Gunakan ETag / If-None-Match saat membaca catatan, transkrip, dan ringkasan โ€” respons 304 lebih murah untuk semua pihak.

Privasi

  • Transkrip dan ringkasan adalah konten pengguna dan bisa memuat data pribadi. Ambil hanya yang dibutuhkan integration Anda, dan lindungi data yang Anda simpan.
  • Hormati penghapusan: saat menerima note.deleted (apa pun alasannya), hapus atau blokir akses ke salinan yang Anda simpan. Lakukan rekonsiliasi berkala kalau-kalau ada event yang terlewat.
  • URL webhook harus berupa endpoint HTTPS publik. Alamat privat, loopback, dan cloud metadata ditolak, dan redirect tidak diikuti.
  • Akses API memerlukan langganan aktif pada workspace milik integration; tanpa itu, request gagal dengan 403 plan_required.
  • Lihat Kebijakan Privasi kami untuk mengetahui bagaimana Alt sendiri menangani data pengguna.