Keamanan
Tempat kredensial disimpan
Di Mac
Kata sandi, frasa sandi key, API key penyedia AI, dan kunci lisensi disimpan dalam Rantai Kunci macOS. Daftar koneksi di disk tidak berisi kata sandi, dan key SSH tetap berupa file di disk.
Di iPhone dan iPad
Kata sandi dan key SSH yang ditempel disimpan dalam Rantai Kunci.
iCloud Sync
iCloud Sync nonaktif hingga Anda mengaktifkannya. Data masuk ke database privat dalam akun iCloud Anda sendiri, yang tidak dapat dibaca TablePro, dan tidak berisi kata sandi. Kata sandi hanya disinkronkan jika Anda juga mengaktifkan Passwords di Mac atau Sync Passwords di iPhone dan iPad, dan saat itu dikirim melalui Rantai Kunci iCloud.
Yang diterima TablePro
Kueri yang Anda jalankan, hasilnya, dan kata sandi Anda tidak dikirim ke TablePro. Pengecualiannya adalah Team Library yang Anda pilih sebagai tempat publikasi: Team Library menerima pengaturan koneksi dan kueri tersimpan, tidak pernah kata sandi.
Batasan yang perlu diketahui
- Di Mac, sinkronisasi kata sandi juga membawa API key penyedia AI dan kunci lisensi.
- Sumber kata sandi seperti 1Password atau perintah shell menjalankan program di Mac Anda setiap kali Anda terhubung.
Yang keluar dari perangkat Anda
Ke server dan penyedia Anda
Kueri dan hasil berpindah antara aplikasi dan server database Anda sendiri, tidak pernah melalui TablePro. Permintaan AI langsung dikirim ke penyedia yang Anda tambahkan.
Ke TablePro
Tanpa lisensi aktif, satu-satunya permintaan aplikasi Mac ke TablePro adalah laporan penggunaan harian, aktif secara bawaan dan dapat dinonaktifkan di pengaturan. Di iPhone dan iPad, tidak ada yang dikirim ke TablePro kecuali Anda mengaktifkan Share Usage Data. Laporan tidak pernah berisi nama host, nama pengguna, kata sandi, kueri, atau baris, dan kedua aplikasi tidak memuat pelapor crash maupun pustaka analitik pihak ketiga.
Batasan yang perlu diketahui
- Aplikasi Mac mengirim laporan penggunaan pertamanya tanpa bertanya, dan server kami menyimpan alamat IP setiap laporan dan setiap pemeriksaan lisensi.
Cara aplikasi sampai kepada Anda
Ditandatangani dan dinotarisasi
Build Mac ditandatangani dengan Developer ID, memakai Hardened Runtime, dan dinotarisasi Apple. Image disk tersedia di GitHub Releases, masing-masing dengan checksum SHA-256. Cask Homebrew mengunduh image yang sama dan memeriksa SHA-256-nya.
Pembaruan
Aplikasi Mac diperbarui melalui Sparkle dan memeriksa tanda tangan EdDSA setiap pembaruan dengan kunci publik di dalam aplikasi sebelum menginstalnya. Pemeriksaan ini tidak dapat dinonaktifkan. Pembaruan otomatis dapat dinonaktifkan, di pengaturan atau melalui profil konfigurasi.
Plugin driver
Driver yang tidak disertakan dalam aplikasi Mac diunduh dari GitHub. Setiap driver harus cocok dengan SHA-256 di registri plugin dan membawa tanda tangan kode yang valid: milik TablePro sendiri, atau Developer ID pengembang lain setelah Anda setuju memercayai pengembang itu berdasarkan namanya.
iPhone dan iPad
Aplikasi iPhone dan iPad tersedia di App Store, yang juga mengirimkan pembaruannya. Driver-nya sudah terpasang, dan aplikasi ini tidak mengunduh plugin.
Batasan yang perlu diketahui
- Aplikasi Mac tidak memakai App Sandbox macOS: aplikasi berjalan dengan akses akun pengguna Anda ke file dan jaringan.
- Plugin driver berjalan sebagai bagian dari TablePro dan dapat membaca kredensial setiap koneksi yang Anda buka.
Yang melindungi database dari kesalahan
Level Safe Mode
Setiap koneksi memiliki level Safe Mode: Silent, Alert, Alert (Full), Safe Mode, Safe Mode (Full) dan Read-Only. Alert meminta konfirmasi sebelum penulisan, level Safe Mode juga meminta Touch ID atau kata sandi Mac, level Full juga meminta konfirmasi sebelum membaca, dan Read-Only menolak penulisan. Organisasi dapat menerapkan level minimum di Mac miliknya melalui profil konfigurasi. Di iPhone dan iPad, levelnya adalah Off, Confirm Writes dan Read-Only.
Pernyataan destruktif
Di setiap level di Mac, DROP, TRUNCATE, dan DELETE tanpa WHERE berhenti dan meminta konfirmasi terlebih dahulu, dengan menampilkan seluruh pernyataan.
Batasan yang perlu diketahui
- Safe Mode berjalan di dalam TablePro dan mencegah kesalahan. Safe Mode bukan sandbox atau sistem izin: untuk aturan yang wajib berlaku, gunakan hak akses database itu sendiri.
- Koneksi baru dimulai pada Silent, yang menjalankan pernyataan sesuai tulisannya, termasuk UPDATE tanpa WHERE.
- Dalam mode Edit dan Agent pada chat, asisten AI dapat menjalankan pernyataan, dan pada Silent penulisannya berjalan tanpa meminta konfirmasi. Agent mode, yang memakai seluruh jendela, mempertahankan koneksinya pada Alert atau lebih ketat; ini pengingat, bukan kunci.
Server MCP
Hanya lokal
Server MCP hanya ada di aplikasi Mac dan nonaktif hingga Anda mengaktifkannya atau klien yang Anda siapkan memulainya. Server mendengarkan di 127.0.0.1, tanpa mode jarak jauh, dan klien tidak pernah melihat kata sandi.
Cara klien disetujui
Secara bawaan, setiap permintaan memerlukan token dengan cakupan (Read Only, Read & Write, atau Full Access), dan dialog di Mac menanyakan Anda saat klien pertama kali mengakses sebuah koneksi.
Yang dapat dilakukan klien
Setiap koneksi menentukan apa yang boleh dilakukan klien eksternal: Blocked, Read Only (bawaan), atau Read & Write. Penulisan tetap melewati level Safe Mode koneksi itu, DROP dan TRUNCATE memerlukan token Full Access serta persetujuan Anda setiap kali, dan setiap panggilan dicatat di Mac Anda.
Batasan yang perlu diketahui
- 127.0.0.1 menunjukkan tempat server mendengarkan, bukan siapa yang dapat menjangkaunya. Program apa pun di Mac Anda dapat terhubung, begitu pula halaman yang terbuka di claude.ai atau app.cursor.com. Masing-masing tetap memerlukan token, jadi biarkan autentikasi tetap wajib.
- Apa yang dibaca klien akan dikirimnya ke layanan AI miliknya sendiri, sesuai ketentuan layanan itu.
Sumber terbuka
Kodenya terbuka
Kedua aplikasi bersumber terbuka di bawah AGPLv3, termasuk kode fitur berbayar. Apa yang dijelaskan halaman ini dapat dibaca di repositori, bersama skrip yang menandatangani dan menotarisasi setiap rilis, dan Anda dapat mem-build aplikasi Mac sendiri.
Melaporkan kerentanan
Cara melapor
Kirim email ke [email protected] atau laporkan secara privat di GitHub, dalam bahasa Inggris atau Vietnam. Jangan membuka issue, diskusi, atau pull request publik untuk sebuah kerentanan.
Yang perlu disertakan
Apa yang terdampak dan versinya: aplikasi Mac, aplikasi iPhone dan iPad, sebuah plugin, atau situs ini. Sertakan versi macOS atau iOS, jenis database bila melibatkan driver, langkah atau proof of concept, dan apa yang diperoleh penyerang.
Versi yang menerima perbaikan
Hanya rilis terbaru dari setiap aplikasi dan plugin yang menerima perbaikan keamanan, jadi pastikan masalahnya masih ada di rilis terbaru sebelum melapor.