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.

ManifestKapsamKullanıcının gördüğüRiskDenetleyenAPI
"notifications": truenotificationsBildirim gösterirdüşükuygulamanuvaka.ui.notify
"background": truebackgroundArka planda çalışır (uygulama açıkken)düşükuygulamaentry.background için zorunlu
"startup": truestartupUygulama açılınca kendiliğinden başlardüşükuygulama—
"clipboard": "write"clipboard.writePanoya yazarortauygulamanuvaka.clipboard.writeText
"clipboard": "read"clipboard.readPanoyu okuryüksekuygulamanuvaka.clipboard.readText
"net": ["alan.adi", …]netİnternette şu adreslerle konuşurortauygulama (vekil)nuvaka.net.fetch
"files": "read"files.readSeçtiğin klasörlerdeki dosyaları okuryüksekuygulamanuvaka.files.folders/pick/list/readText/readBytes
"files": "write"files.writeSeçtiğin klasörlerde dosya yazar ve sileryüksekuygulamanuvaka.files.writeText/writeBytes/mkdir/remove
"nuvaka.notes": "read"nuvaka.notes.readNotlarını okuryükseksunucunuvaka.notes.list/get
"nuvaka.notes": "write"nuvaka.notes.writeNotlarını düzenler ve sileryükseksunucunuvaka.notes.create/update/delete
"nuvaka.cloud": "read"nuvaka.cloud.readNuvaka dosyalarını okuryükseksunucunuvaka.cloud.roots/list/read
"nuvaka.cloud": "write"nuvaka.cloud.writeNuvaka dosyalarına yazar ve silerkritiksunucunuvaka.cloud.upload/delete
"nuvaka.clipboard": "read"nuvaka.clipboard.readPano havuzunu okuryükseksunucunuvaka.pool.list
"nuvaka.clipboard": "write"nuvaka.clipboard.writePano havuzuna yazarortasunucunuvaka.pool.add
"nuvaka.friends": "read"nuvaka.friends.readArkadaş listeni görürortasunucunuvaka.friends.list
"nuvaka.mail": "read"nuvaka.mail.readMaillerini okurkritiksunucunuvaka.mail.accounts/folders/messages/get
"nuvaka.mail": "send"nuvaka.mail.sendSenin adına mail gönderirkritiksunucunuvaka.mail.accounts/send
"nuvaka.connections": "list"nuvaka.connections.listKayıtlı sunucu bağlantılarının adını ve adresini görürortasunucunuvaka.connections.list
"nuvaka.connections": "secrets"nuvaka.connections.secretsKayıtlı bağlantıların şifrelerini ve anahtarlarını okurkritiksunucunuvaka.connections.list/secret
"nuvaka.push": truenuvaka.pushTüm cihazlarına bildirim gönderirdüşüksunucunuvaka.push
(shared.imports'tan türer)sharedBaşka uzantıların paylaştığı veriyi okurortasunucunuvaka.shared.get

Değerler hakkında notlar

  • net: istekler uygulamanın vekilinden geçer. Yalnız https; 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. Uygulamada write izni okumayı da kapsar; yalnız okuyacaksan read iste.
  • clipboard bu cihazın sistem panosudur; nuvaka.clipboard ise hesabın cihazlar arası pano havuzudur (JS'te nuvaka.pool). Pano izinlerinde write okumayı kapsamaz.
  • nuvaka.cloud: kurulumda kullanıcı uzantıya hangi Nuvaka klasörlerini (ya da tümünü) açacağını seçer; kapsam dışı dosya out_of_scope ile 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.push ve notifications aynı bildirim sınırını paylaşır.
  • Depolama (nuvaka.storage), nuvaka.info, nuvaka.me, nuvaka.settings ve nuvaka.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.read
  • nuvaka.mail.send
  • nuvaka.connections.secrets
  • nuvaka.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.

KoddaGereken izin
nuvaka.filesfiles
nuvaka.netnet
nuvaka.clipboardclipboard
nuvaka.notesnuvaka.notes
nuvaka.cloudnuvaka.cloud
nuvaka.poolnuvaka.clipboard
nuvaka.friendsnuvaka.friends
nuvaka.mailnuvaka.mail
nuvaka.connectionsnuvaka.connections
nuvaka.pushnuvaka.push
nuvaka.sharedshared (shared.imports)
nuvaka.ui.notifynotifications

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