Apakah Ayakaleaf Pro andal dan aman?
Ayakaleaf Pro adalah pengembangan Overleaf Pro yang di-host sendiri, dan kode sumbernya tersedia di ayaka-notes/ayakaleaf-pro. Deployment Anda menentukan di mana layanan berjalan dan di mana data disimpan. Keamanan bergantung pada konfigurasi dan operasional Anda. Lindungi akses administrator, aktifkan HTTPS, dan pelihara cadangan. Terima kasih kepada OpenAI atas dukungannya. Kami akan secara rutin menggunakan Codex Security untuk memindai repositori kami dari masalah keamanan dan membagikan hasil perbaikan kerentanan secara publik.Ke mana data saya pergi?
Secara default, data aplikasi tetap berada di dalam deployment Anda:- MongoDB menyimpan data pengguna dan proyek.
- Redis menyimpan cache dan data kolaborasi real-time.
- Volume lokal atau penyimpanan yang kompatibel dengan S3 menyimpan file proyek.
Apakah data saya akan dikirim ke atau diambil dari pihak ketiga?
Tidak ada yang keluar dari deployment Anda kecuali Anda mengaktifkan fitur yang memerlukannya. Ayakaleaf Pro tidak mengirimkan telemetri, analitik penggunaan, maupun laporan crash. Pelaporan error dan analitik dinonaktifkan dalam konfigurasi default. Beberapa fitur sama sekali tidak pernah membuat permintaan eksternal. Templat disimpan dan disajikan dari deployment Anda sendiri. Python script runner dieksekusi di browser pengguna melalui WebAssembly, dan runtime-nya disajikan dari layanan web Anda sendiri, bukan dari CDN publik, sehingga kode skrip dan outputnya tidak pernah mencapai jaringan. Git Bridge hanya dapat dijangkau di jaringan Docker internal. Pencarian proyek penuh, palet simbol, lacak perubahan, riwayat proyek, dan panel admin sepenuhnya lokal. Kontainer kompilasi sandbox dibuat dengan jaringan dinonaktifkan. Permintaan dari fitur-fitur lainnya menuju ke tujuan berikut. Setiap permintaan berasal dari layanan web:Asisten AI dan pencarian
Asisten AI dan pencarian
Fitur AI dinonaktifkan secara default. Saat diaktifkan, chat dan saran untuk error LaTeX mengirimkan prompt serta konteks proyek yang relevan ke endpoint model yang dikonfigurasi dengan
AI_BASE_URL. Pencarian web opsional mengirimkan kueri ke layanan yang kompatibel dengan Tavily yang dikonfigurasi, dan pencarian dokumentasi mengirimkan kueri ke DOCS_MCP_URL (default: https://docs.overleaf.com/~gitbook/mcp). Hasil pencarian dapat disertakan dalam permintaan ke penyedia model. Lihat AI Integration untuk konfigurasi dan kontrol pengguna.Integrasi GitHub
Integrasi GitHub
Integrasi GitHub menghubungi
github.com dan api.github.com. Fitur ini diaktifkan per pengguna dengan menautkan akun GitHub, dan otorisasinya meminta scope read:org, repo, dan workflow. Proses push mengunggah seluruh isi file proyek sebagai blob Git, yang kemudian disusun menjadi tree dan commit. Fitur ini juga melakukan operasi branch, referensi, compare, dan merge, serta membaca profil, keanggotaan organisasi, dan daftar repositori akun yang ditautkan. Konten proyek keluar dari deployment Anda ke dua arah — anggap akun GitHub yang ditautkan sebagai jalur ekspor untuk setiap proyek yang terhubung dengannya.Integrasi Zotero
Integrasi Zotero
Integrasi Zotero menghubungi
www.zotero.org untuk otorisasi dan api.zotero.org untuk data pustaka. Fitur ini diaktifkan per pengguna dengan menautkan akun Zotero. Handshake OAuth dan API key pengguna dikirimkan. Pembacaan bersifat satu arah: pustaka referensi ditarik sebagai BibTeX, dan tidak ada konten proyek yang diunggah.Integrasi Mendeley
Integrasi Mendeley
Integrasi Mendeley menghubungi
api.mendeley.com untuk otorisasi maupun data pustaka. Fitur ini diaktifkan per pengguna dengan menautkan akun Mendeley. Handshake OAuth meminta scope all milik Mendeley — satu-satunya scope yang ditawarkan API-nya — tetapi Ayakaleaf hanya pernah melakukan pembacaan: pustaka referensi dan pustaka grup ditarik sebagai BibTeX, dan tidak ada konten proyek yang diunggah. Token akses diperbarui secara otomatis; ketika Mendeley mencabut izin, kredensial yang tersimpan dibuang dan pengguna diminta untuk menautkan akun kembali.Halaman dokumentasi
Halaman dokumentasi
Halaman dokumentasi diambil dari
https://learnwiki.overleaf.com, yang dapat dikonfigurasi dengan WIKI_URL. Permintaan dibuat oleh layanan web, bukan oleh browser pengguna, sehingga wiki upstream hanya melihat server Anda dan tidak pernah melihat alamat pengguna Anda. Hanya judul halaman yang diminta yang dikirimkan, dan respons di-cache di disk. Arahkan WIKI_URL ke mirror Anda sendiri, atau blokir tujuan tersebut, jika lalu lintas dokumentasi keluar tidak dapat diterima.Pengiriman email
Pengiriman email
Pengiriman email menghubungi server SMTP atau API email apa pun yang Anda konfigurasikan; tidak ada default. Alamat penerima dan isi pesan keluar dari deployment Anda, termasuk tautan reset kata sandi dan undangan.
Dua pemeriksaan opsional (PWD/reCAPTCHA)
Dua pemeriksaan opsional (PWD/reCAPTCHA)
Dua pemeriksaan opsional dinonaktifkan secara default. Pemeriksaan kata sandi yang bocor tidak aktif kecuali
HAVE_I_BEEN_PWNED_ENABLED diatur; saat diaktifkan, pemeriksaan ini mengirimkan karakter-karakter pertama dari hash SHA-1 kata sandi ke api.pwnedpasswords.com, tidak pernah kata sandinya sendiri. Verifikasi CAPTCHA tidak aktif kecuali site key reCAPTCHA dikonfigurasi, dan saat aktif akan menghubungi www.google.com.Single sign-on (OAuth/LDAP/SAML)
Single sign-on (OAuth/LDAP/SAML)
Single sign-on hanya menjangkau penyedia identitas yang Anda tentukan, dan data yang dikirimkan bergantung pada protokolnya. Dengan LDAP, layanan web terhubung langsung ke direktori Anda: layanan ini melakukan bind dengan akun layanan yang Anda konfigurasikan, mencari berdasarkan base, filter, dan daftar atribut yang Anda tentukan, serta memverifikasi kata sandi yang dimasukkan pada formulir login terhadap direktori Anda, sehingga nama pengguna dan kata sandi sampai ke server direktori. Mengaktifkan kontak berbasis direktori akan memicu pencarian tambahan untuk mengisi daftar kontak. Dengan OIDC, layanan web menukarkan kode otorisasi di endpoint token Anda, lalu memanggil endpoint user-info Anda, dengan meminta scope
openid profile email secara default; ini dapat dikonfigurasi dengan OVERLEAF_OIDC_SCOPE. Dengan SAML, permintaan autentikasi dikirim melalui browser pengguna ke penyedia identitas, bukan melalui koneksi server langsung. Dalam ketiga kasus tersebut, nama dan alamat email pengguna diterima dari penyedia, bukan dikirim kepadanya, lalu disimpan pada catatan pengguna lokal.Kredensial pihak ketiga
Kredensial pihak ketiga
Kredensial pihak ketiga — token OAuth dan API key — disimpan di MongoDB pada catatan pengguna, dienkripsi dengan AES-256-CTR menggunakan salt dan initialization vector per catatan. Kredensial ini tidak pernah disimpan dalam bentuk teks biasa dan tidak pernah ditulis ke log. Kunci enkripsi berasal dari
${PROVIDER}_CIPHER_PASSWORD jika diatur (seperti Zotero dan Mendeley); jika tidak, kunci akan dibuat saat pertama kali digunakan dan disimpan di dalam volume data Anda dengan izin khusus pemilik. Cadangkan kunci tersebut bersama volume data Anda: jika hilang, kredensial yang tersimpan tidak dapat didekripsi dan setiap pengguna harus menautkan akun mereka kembali.File yang ditautkan dari URL
File yang ditautkan dari URL
File yang ditautkan dari URL diambil oleh deployment Anda atas nama pengguna, sehingga tujuannya adalah alamat apa pun yang diberikan pengguna. File URL tertaut dinonaktifkan kecuali Anda menambahkan
url ke ENABLED_LINKED_FILE_TYPES, dan konfigurasi default tidak menyertakannya. Impor ZIP dan TeX eksternal melalui API Open in Overleaf juga menggunakan komponen linked-url-proxy yang sama. Permintaan langsung me-resolve hostname tujuan dan menolak rentang jaringan yang dibatasi, dengan memperhatikan pengecualian sumber daya yang diizinkan yang telah dikonfigurasi. Jika OVERLEAF_LINKED_URL_OUTBOUND_PROXY dikonfigurasi, proxy keluar yang me-resolve hostname, sehingga proxy tersebut harus menerapkan sendiri pembatasan jaringan internal; pemeriksaan jaringan aplikasi hanya berlaku untuk URL yang berisi alamat IP. Lihat External URL — Outbound Proxy untuk detailnya. Permintaan ini mengambil URL yang diberikan, bukan mengunggah file proyek.github.com dan api.github.com untuk GitHub, www.zotero.org dan api.zotero.org untuk Zotero, api.mendeley.com untuk Mendeley, learnwiki.overleaf.com atau WIKI_URL Anda sendiri untuk dokumentasi, api.pwnedpasswords.com untuk pemeriksaan kata sandi, www.google.com untuk CAPTCHA, ditambah server email dan penyedia identitas Anda sendiri. Jika fitur AI atau pencarian diaktifkan, izinkan juga endpoint model, pencarian web, dan MCP dokumentasi yang dikonfigurasi. Tolak tujuan yang tidak diperlukan oleh fitur yang Anda aktifkan. Jika lalu lintas keluar harus diperiksa atau dicatat secara terpusat, integrasi GitHub, Zotero, dan Mendeley masing-masing dapat dirutekan melalui proxy HTTP dengan mengatur GITHUB_SYNC_PROXY_URL, MENDELEY_PROXY_URL, dan ZOTERO_PROXY_URL. Pengambilan URL tertaut dan impor jarak jauh dapat menggunakan OVERLEAF_LINKED_URL_OUTBOUND_PROXY. File yang ditautkan dari URL tidak dapat dibatasi ke daftar host, karena tujuannya dipilih oleh pengguna saat permintaan dibuat; batasi fitur tersebut melalui pengaturan sumber daya yang diizinkan milik komponen proxy itu sendiri, atau biarkan fitur tersebut nonaktif.
Apakah kompilasi proyek terisolasi?
Ayakaleaf Pro mendukung kompilasi sandbox. Setiap kompilasi berjalan di kontainer terpisah. Kontainer sandbox tidak memiliki akses jaringan secara default. Ini mengurangi paparan terhadap sumber daya jaringan internal. Kompilasi sandbox memerlukan akses ke socket Docker host. Batasi administrasi host hanya untuk operator tepercaya.Apakah saya dapat memercayai build CI dan image kontainer?
GitHub Actions membangun dan menerbitkan image kontainer Ayakaleaf Pro. Image tersedia dari GitHub Container Registry publik. Image mendukungamd64 dan arm64. Docker memilih arsitektur yang sesuai saat menarik image.
Jangan gunakan tag latest di produksi. Kunci ke versi eksplisit, sebaiknya ke digest image.
Uji setiap pembaruan di lingkungan non-produksi. Verifikasi image, konfigurasi, dan integrasi sebelum peluncuran.
Apakah kodenya open source?
Ayakaleaf Pro dan repositori fitur terkait tersedia secara publik. Hal ini memungkinkan pengguna meninjau perubahan dan menelusuri sumber upstream. Kode sumber publik mendukung peninjauan independen. Namun, hal itu tidak dengan sendirinya menjamin build rilis yang dapat direproduksi. Sebelum memperbarui, tinjau:- Tag rilis atau commit.
- Versi atau digest image.
- Dependensi pihak ketiga dan persyaratan lisensi.

