Skip to content

Güvenlik modeli ​

Corevo app'leri müşterinin ekranlarında, müşterinin markasıyla çalışır. Bu yüzden her app aynı kısıtlı ortamda çalışır ve yalnız manifestinde bildirdiği yetenekleri kullanabilir.

Sandbox ​

  • App, sandbox="allow-scripts" ile açılan bir iframe (cihazda eşdeğer WebView) içinde çalışır. allow-same-origin yoktur: origin opaktır ("null").
  • Çerez, localStorage, sessionStorage ve IndexedDB kullanılamaz.
  • Üst pencereye, panele veya başka bir app'e erişilemez. Host ile tek iletişim yolu bridge mesajlarıdır (postMessage veya platformun native köprüsü).
  • Bridge mesajı en fazla 65 536 bayttır (64 KB). Aşan mesaj gönderilmez ve kabul edilmez.

Ağ erişimi yok ​

  • App internete çıkamaz. Paket dışından script, stil, font, görsel veya modül yüklenemez; corevo build http(s):// ile yüklenen kaynağı hata sayar.
  • Medya ve dosyalar panelden seçilir, cihaza önceden indirilir ve Corevo.media.url ile yerel adresten açılır.
  • Dış veri sunucu tarafında çekilir (Veri kaynakları). API anahtarları sunucuda kalır.
  • App çevrimdışı da çalışmalıdır: cihaz paketi, medyayı ve son veriyi saklar.

Yetenekler (capabilities) ​

Manifestteki permissions.capabilities listesi app'in bridge'de neyi isteyebileceğini belirler. Listede olmayan istek host tarafında capability_denied ile reddedilir.

YetenekAçar
trackEtkileşim olayları (Corevo.track, otomatik olaylar)
storageCorevo.storage
dataCorevo.data (dataset). Veri sağlayıcı bildiren app'e örtük verilir
live.subscribeCanlı kumanda olaylarını dinleme
live.upCihazdan sunucuya olay
actions.mailSunucu üzerinden e-posta

Yeni bir yetenek, izin veya veri sağlayıcı eklemek sürümü platform incelemesine düşürür (Yayınlama ve inceleme). Yalnız gerçekten kullandığınız yetenekleri isteyin.

Depolama ​

Corevo.storage cihazda app örneği (instance) başına tutulan küçük bir anahtar-değer deposudur.

  • Kota: örnek başına 1 MB. Tüm anahtarlar ve değerler birlikte, JSON olarak en fazla 1 MB (1 048 576 bayt) olabilir. Anahtar en fazla 256 karakterdir.
  • Kota aşılırsa yazma reddedilir ve depo eski hâliyle kalır: Corevo.storage.set hata fırlatmaz, döndürdüğü Promise code: "quota_exceeded" taşıyan bir Error ile reddedilir. 256 karakterden uzun anahtar da aynı kodu alır.
  • Her set çağrısı tek bridge mesajıdır; anahtar ve değer 64 KB zarf sınırına da sığmalıdır (aşarsa message_too_large).
  • corevo dev kabuğunda depo bellek içindedir ve kota uygulanmaz; kotayı cihazda test edin.
  • Depo önbellek gibi düşünülmelidir: cihazda depolama temizlenince (clear_storage, app verisi dahil) silinir. Kalıcı veya paylaşılan veri için panel koleksiyonlarını (collections) kullanın.
  • Kişisel veri ve sır saklamayın.
ts
try {
  await Corevo.storage.set('cache', data);
} catch (error) {
  if ((error as { code?: string }).code === 'quota_exceeded') await Corevo.storage.remove('cache');
}

Paket denetimi ​

Yüklenen her paket sunucuda yeniden denetlenir: izinli uzantılar, dosya ve toplam boyut, dosya sayısı, gizli dosya ve .. içeren yol yasağı, manifest şeması. Sınırlar: Sınırlar.

Token ​

  • Geliştirici token'ı yalnız firmanızın app'lerine sürüm yükler. Panelden iptal edilebilir.
  • corevo login token'ı yalnız sizin okuyabileceğiniz bir dosyaya (0600) yazar; CLI token'ı hiçbir çıktıda göstermez.
  • Token'ı repoya, corevo.config.json'a veya CI loguna yazmayın; CI'da gizli değişken olarak COREVO_TOKEN kullanın.