Tema
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-originyoktur: origin opaktır ("null"). - Çerez,
localStorage,sessionStorageve IndexedDB kullanılamaz. - Üst pencereye, panele veya başka bir app'e erişilemez. Host ile tek iletişim yolu bridge mesajlarıdır (
postMessageveya 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 buildhttp(s)://ile yüklenen kaynağı hata sayar. - Medya ve dosyalar panelden seçilir, cihaza önceden indirilir ve
Corevo.media.urlile 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.
| Yetenek | Açar |
|---|---|
track | Etkileşim olayları (Corevo.track, otomatik olaylar) |
storage | Corevo.storage |
data | Corevo.data (dataset). Veri sağlayıcı bildiren app'e örtük verilir |
live.subscribe | Canlı kumanda olaylarını dinleme |
live.up | Cihazdan sunucuya olay |
actions.mail | Sunucu ü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.sethata fırlatmaz, döndürdüğü Promisecode: "quota_exceeded"taşıyan birErrorile 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şarsamessage_too_large). corevo devkabuğ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 logintoken'ı 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 olarakCOREVO_TOKENkullanın.