Core memisahkan gambar di Media Library dan dokumen umum di File Library. Keduanya mendukung public/private storage serta access scope, tetapi URL dan shortcode-nya berbeda.
public: aset hanya publik bila visibility, disk, dan scope semuanya public.editorial: akses internal bagi akun dengan legacy role editorial yang sesuai.admin: akses administrator yang berwenang.File private berada di private_files/files; gambar private berada di private_files/media. Controller membaca record, sesi, legacy role hierarchy, storage identity, dan path sebelum stream. Jangan menaruh data sensitif pada public disk lalu hanya menyembunyikan URL.
Gunakan ID File Library untuk [private_pdf id="123" mode="embed"] atau mode card/link yang didukung. Viewer PDF membuat URL stream bertoken HMAC dengan masa terbatas; token itu bukan mekanisme berbagi publik. Gambar private dipilih melalui Media Picker dan memakai endpoint private media, bukan shortcode PDF.
Scope Core ditujukan untuk public, editorial, dan admin. Core tidak menyediakan membership/subscriber download policy. Plugin dapat menambah workflow, tetapi harus tetap memanggil guard Core dan tidak memperlonggar akses.
Backup public upload dan kedua private storage. Delete awal memindahkan media/file ke Trash; untuk storage lokal terkelola, byte dipindahkan ke penyimpanan non-public dan dapat direstore ke path asal yang masih aman. Purge menghapus record dan byte secara permanen. Uji akses sebagai anonymous, author, editor, admin non-owner, dan Site Owner.