@startuml fig_36_ml_on_device
scale 2.5
title Wallenc — гипотетический контур on-device ML (без расшифровки на сервере)

skinparam defaultFontName "DejaVu Sans"
skinparam componentStyle rectangle

package "Приложение Wallenc" {
  [UI / use cases] as UI
  component Meta [
    Метаданные
    ----
    журнал sync, имена, размеры
  ]
  component ML [
    TFLite / ML Kit
    ----
    (inference)
  ]
  component Enc [
    Зашифрованные
    ----
    файлы storage
  ]
}

cloud "Провайдер (недоверенный)" as Cloud {
  [Зашифрованные объекты] as Obj
}

UI --> Meta : анализ
Meta --> ML : признаки без plaintext
ML --> UI : решение / подсказка
Enc --> Cloud : только ciphertext
Enc ..> ML : опционально: эмбеддинги после decrypt на устройстве

note bottom of ML
  Обучение: офлайн на размеченных
  синтетических/агрегированных данных;
  выгрузка содержимого storage
  на облако для train — не используется
end note

@enduml
