Nuvaka › Geliştirici belgeleri › İzinler
İzin başvurusu
Manifestte her izin { "<izin>": <değer>, "reason": { "tr": "…" } } biçiminde yazılır. Aşağıdaki metinler kullanıcıya kurulum ekranında ve Mağaza'da gösterilenlerdir; risk sınıfları sunucunun listesiyle aynıdır.
Tam liste
Kapsam, iznin düz adıdır: nuvaka.info().grants, hata nesnesindeki permission alanı ve yayın kaydı bu adları kullanır.
| Manifest | Kapsam | Kullanıcının gördüğü | Risk | Denetleyen | API |
|---|---|---|---|---|---|
"notifications": true | notifications | Bildirim gösterir | düşük | uygulama | nuvaka.ui.notify |
"background": true | background | Arka planda çalışır (uygulama açıkken) | düşük | uygulama | entry.background için zorunlu |
"startup": true | startup | Uygulama açılınca kendiliğinden başlar | düşük | uygulama | — |
"clipboard": "write" | clipboard.write | Panoya yazar | orta | uygulama | nuvaka.clipboard.writeText |
"clipboard": "read" | clipboard.read | Panoyu okur | yüksek | uygulama | nuvaka.clipboard.readText |
"net": ["alan.adi", …] | net | İnternette şu adreslerle konuşur | orta | uygulama (vekil) | nuvaka.net.fetch |
"files": "read" | files.read | Seçtiğin klasörlerdeki dosyaları okur | yüksek | uygulama | nuvaka.files.folders/pick/list/readText/readBytes |
"files": "write" | files.write | Seçtiğin klasörlerde dosya yazar ve siler | yüksek | uygulama | nuvaka.files.writeText/writeBytes/mkdir/remove |
"nuvaka.notes": "read" | nuvaka.notes.read | Notlarını okur | yüksek | sunucu | nuvaka.notes.list/get |
"nuvaka.notes": "write" | nuvaka.notes.write | Notlarını düzenler ve siler | yüksek | sunucu | nuvaka.notes.create/update/delete |
"nuvaka.cloud": "read" | nuvaka.cloud.read | Nuvaka dosyalarını okur | yüksek | sunucu | nuvaka.cloud.roots/list/read |
"nuvaka.cloud": "write" | nuvaka.cloud.write | Nuvaka dosyalarına yazar ve siler | kritik | sunucu | nuvaka.cloud.upload/delete |
"nuvaka.clipboard": "read" | nuvaka.clipboard.read | Pano havuzunu okur | yüksek | sunucu | nuvaka.pool.list |
"nuvaka.clipboard": "write" | nuvaka.clipboard.write | Pano havuzuna yazar | orta | sunucu | nuvaka.pool.add |
"nuvaka.friends": "read" | nuvaka.friends.read | Arkadaş listeni görür | orta | sunucu | nuvaka.friends.list |
"nuvaka.mail": "read" | nuvaka.mail.read | Maillerini okur | kritik | sunucu | nuvaka.mail.accounts/folders/messages/get |
"nuvaka.mail": "send" | nuvaka.mail.send | Senin adına mail gönderir | kritik | sunucu | nuvaka.mail.accounts/send |
"nuvaka.connections": "list" | nuvaka.connections.list | Kayıtlı sunucu bağlantılarının adını ve adresini görür | orta | sunucu | nuvaka.connections.list |
"nuvaka.connections": "secrets" | nuvaka.connections.secrets | Kayıtlı bağlantıların şifrelerini ve anahtarlarını okur | kritik | sunucu | nuvaka.connections.list/secret |
"nuvaka.push": true | nuvaka.push | Tüm cihazlarına bildirim gönderir | düşük | sunucu | nuvaka.push |
(shared.imports'tan türer) | shared | Başka uzantıların paylaştığı veriyi okur | orta | sunucu | nuvaka.shared.get |
Değerler hakkında notlar
net: istekler uygulamanın vekilinden geçer. Yalnızhttps; yalnız listedeki tam alan adları; en çok 20 ad. Vekil DNS'i kendisi çözer ve özel ağ, loopback, link-local, CGNAT, multicast adreslerini reddeder (DNS rebinding'e karşı). Yönlendirme en çok 5 kez ve yalnız izinli adlara.files: yalnız kullanıcının seçtiği klasörler (nuvaka.files.pick()). Seçim cihaza özeldir. Uygulamadawriteizni okumayı da kapsar; yalnız okuyacaksanreadiste.clipboardbu cihazın sistem panosudur;nuvaka.clipboardise hesabın cihazlar arası pano havuzudur (JS'tenuvaka.pool). Pano izinlerindewriteokumayı kapsamaz.nuvaka.cloud: kurulumda kullanıcı uzantıya hangi Nuvaka klasörlerini (ya da tümünü) açacağını seçer; kapsam dışı dosyaout_of_scopeile reddedilir.nuvaka.friends: yalnız kullanıcı adı ve arkadaşlık tarihi.nuvaka.connections: list: bağlantıların adı, türü ve adres bilgileri (host, port, kullanıcı adı, veritabanı…); parola ve anahtar alanları ayıklanır.nuvaka.pushvenotificationsaynı bildirim sınırını paylaşır.- Depolama (
nuvaka.storage),nuvaka.info,nuvaka.me,nuvaka.settingsvenuvaka.ui'ın bildirim dışındaki çağrıları izin istemez.
Kritik izinler
kritik sınıfındaki şu kapsamlar kurulumda verilse bile her kullanımda ayrıca sorulur; kalıcı onay yoktur (yalnız bu sefer / 15 dakika / 1 saat):
nuvaka.mail.readnuvaka.mail.sendnuvaka.connections.secretsnuvaka.cloud.write
Ayrıntı: Kritik izin onayı.
Tehlikeli ikililer
Şu okuma izinlerinden biri net ile birlikte istenirse uygulama kurulumda ayrıca uyarır, çünkü uzantı okuduğu veriyi internete gönderebilir:
files.read, nuvaka.cloud.read, nuvaka.notes.read, nuvaka.mail.read, nuvaka.connections.secrets, clipboard.read, nuvaka.clipboard.read
Uyarı metni örneği: "Bu uzantı notlarını okur ve bunları internetteki şu adreslere gönderebilir: api.example.com". İhtiyacın yoksa bu ikilileri bir arada isteme; istiyorsan gerekçede neden gerektiğini açıkça yaz.
Kodla izin uyumu
Paket taraması koddaki nuvaka.<ad> kullanımlarını izinlerle karşılaştırır: izni olmayan bir ad alanı kullanılıyorsa paket reddedilir; istenip kodda hiç geçmeyen izin için uyarı verilir.
| Kodda | Gereken izin |
|---|---|
nuvaka.files | files |
nuvaka.net | net |
nuvaka.clipboard | clipboard |
nuvaka.notes | nuvaka.notes |
nuvaka.cloud | nuvaka.cloud |
nuvaka.pool | nuvaka.clipboard |
nuvaka.friends | nuvaka.friends |
nuvaka.mail | nuvaka.mail |
nuvaka.connections | nuvaka.connections |
nuvaka.push | nuvaka.push |
nuvaka.shared | shared (shared.imports) |
nuvaka.ui.notify | notifications |
Tarama nuvaka.notes, nuvaka["notes"] ve const { notes } = nuvaka biçimlerini, yorumlar ve HTML metni dahil tüm .js, .mjs, .html dosyalarında arar. Asıl sınır yine de çalışma zamanındaki izin denetimidir.
Hata
İzni olmayan bir çağrı code: "permission_required" ve eksik kapsamla (permission: "files.write") başarısız olur. Kritik onay reddedilirse code: "permission_denied" gelir.
Nuvaka Apps API v1 · son güncelleme 2026-09-27