
# Ubrzavanje podrijetla podataka i usklađenosti u federativnom učenju uz Formize

Federativno učenje (FL) postalo je de‑facto strategija za treniranje visokokvalitetnih AI modela uz zadržavanje sirovih podataka na uređaju. Pristup rješava mnoge probleme privatnosti, ali također uvodi novi skup izazova usklađenosti: praćenje koji su podaci doprinijeli kojem ažuriranju modela, dokazivanje da je pristanak dobiven i jamčenje da su revizijski zapisi nepromjenjivi na tisućama rubnih čvorova.  

Formize, platforma s niskim kodom i bez koda za izgradnju usklađenih radnih tokova, može zatvoriti ovaj jaz. Korištenjem dinamičkog mehanizma obrazaca Formizea, shema podataka pod kontrolom verzija i revizijskih zapisa potpomognutih blockchainom, organizacije mogu **ubrzati** cijeli životni ciklus podrijetla – od prikupljanja podataka na rubu do regulatornog izvještavanja u oblaku – bez pisanja i jedne linije koda.

U nastavku istražujemo problematično područje, opisujemo praktičnu arhitekturu i prolazimo kroz korak‑po‑korak implementaciju koju je moguće replicirati za tjedne, a ne mjesece.

---

## Zašto podrijetlo podataka ima značaj u federativnom učenju

| Izazov | Utjecaj na FL projekte |
|-----------|-----------------------|
| **Regulatorni nadzor** | [GDPR](https://gdpr.eu/), [CCPA](https://oag.ca.gov/privacy/ccpa) i sektorski propisi ([HIPAA](https://www.hhs.gov/hipaa/index.html), FINRA) zahtijevaju dokaz da su osobni podaci korišteni zakonito. |
| **Objašnjivost modela** | Revizori i dionici zahtijevaju mogućnost praćenja izlaza modela natrag do izvornog skupa podataka. |
| **Odgovor na incidente** | U slučaju proboja podataka morate brzo identificirati koje su rubne jedinice doprinijele kompromitiranim podacima. |
| **Međunarodni prijenos podataka** | Federativno učenje često obuhvaća više jurisdikcija; zapisi podrijetla pojednostavljuju usklađenost s SCC i BCR. |

Bez sustavnog okvira za podrijetlo, timovi se oslanjaju na ad‑hoc tablice, ručne dnevnike ili prilagođene baze podataka – sve podložno greškama, latenciji i sigurnosnim propustima.

---

## Formize u jednoj slici

Formize pruža tri ključne mogućnosti koje izravno odgovaraju potrebama podrijetla u FL-u:

1. **Dinamički graditelj obrazaca** – Stvarajte višekratne, shemom vođene obrasce za pristanak, označavanje podataka i metapodatke ažuriranja.  
2. **Neponovljivi revizijski zapis** – Svaka predaja obrasca pohranjuje se u ledger otporan na manipulacije (po izboru poduprt blockchainom).  
3. **Automatizacija s niskim kodom** – Pokrenite akcije u nastavku (npr. slanje metapodataka u registar modela, generiranje izvještaja o usklađenosti) pomoću vizualnog dizajnera radnih tokova.

Ove mogućnosti su dostupne putem web‑sučelja, REST API‑ja i SDK‑ova za Python, Java i JavaScript, što integraciju s FL alatima (TensorFlow Federated, PySyft, Flower) čini jednostavnom.

---

## Cjelovita arhitektura podrijetla

Dolje je prikazan visokorazinski dijagram koji ilustrira kako Formize ulazi u tipičan FL pipeline.

```mermaid
flowchart TD
    A["Rubni uređaj – Prikupljanje podataka"] --> B["Formize obrazac pristanka"]
    B --> C["Potpisani pristanak pohranjen u ledgeru"]
    C --> D["Lokalni FL klijent – Označavanje podataka ID‑om pristanka"]
    D --> E["Federativno ažuriranje (težine modela)"]
    E --> F["Formize obrazac metapodataka"]
    F --> G["Neponovljivi zapis ažuriranja"]
    G --> H["Središnji agregator"]
    H --> I["Registar modela (MLflow)"]
    I --> J["Nadzorna ploča usklađenosti"]
```

*Sve oznake čvorova su navedene u navodnicima kako je potrebno za Mermaid.*

### Ključni tokovi podataka

1. **Prikupljanje pristanka** – Prije nego što bilo koji senzor podaci napuste uređaj, lokalno se prikazuje Formize obrazac pristanka (preko Formize SDK‑a). Potpis i opseg pristanka pohranjuju se nepromjenjivo.  
2. **Označavanje** – FL klijent pridružuje ID transakcije pristanka svakom paketu podataka, osiguravajući kriptografski link između sirovih podataka i zapisa pristanka.  
3. **Metapodaci ažuriranja** – Nakon svakog kruga treniranja, klijent predaje lagani Formize obrazac koji sadrži verziju modela, hash podataka i korištene ID‑ove pristanka.  
4. **Agregacija i izvještavanje** – Središnji poslužitelj agregira neponovljive zapise, prosljeđuje ih na nadzornu ploču usklađenosti i automatski generira regulatorno spremne izvještaje (npr. GDPR DSAR, FDA 21 CFR Part 11).

---

## Vodič korak po korak

### 1. Definirajte shemu pristanka

Stvorite Formize obrazac pod nazivom **„FL‑Device Consent“** s sljedećim poljima:

| Polje | Tip | Opis |
|-------|------|------|
| `device_id` | Tekst | Jedinstveni identifikator rubnog uređaja |
| `user_id` | Tekst | Pseudonimizirani identifikator korisnika |
| `data_scope` | Multi‑Select | Vrste podataka (npr. “akcelerometar”, “kamera”) |
| `purpose` | Tekst | Namjena ML (npr. “prepoznavanje aktivnosti”) |
| `expiry_date` | Datum | Datum isteka pristanka |
| `signature` | Signature | Ručno ili digitalno potpisivanje |

Omogućite **„Immutable Ledger“** i odaberite **Ethereum‑compatible** blockchain za dodatnu pravnu težinu.

### 2. Implementirajte obrazac pristanka na rubnim uređajima

Korištenjem **JavaScript SDK‑a** Formizea:

```javascript
import { FormizeClient } from '@formize/sdk';

const client = new FormizeClient({ apiKey: 'YOUR_API_KEY' });

async function renderConsent(deviceId, userId) {
  const form = await client.getForm('FL-Device Consent');
  const prefilled = {
    device_id: deviceId,
    user_id: userId,
  };
  return client.renderForm(form.id, prefilled);
}
```

SDK kešira obrazac lokalno, omogućujući offline prikaz. Nakon što korisnik potpiše, SDK automatski šalje potpisani payload u Formize ledger kada se uspostavi veza.

### 3. Označite podatke ID‑jem transakcije pristanka

Pri prikupljanju uzorka senzora, izračunajte SHA‑256 hash sirove poruke i pohranite ID pristanka uz njega:

```python
import hashlib
from formize_sdk import FormizeClient

def tag_data(sample, consent_tx):
    data_hash = hashlib.sha256(sample).hexdigest()
    metadata = {
        "data_hash": data_hash,
        "consent_tx": consent_tx,
        "timestamp": datetime.utcnow().isoformat()
    }
    return metadata
```

FL klijent uključuje ove metapodatke u svaki lokalni trening batch.

### 4. Predajte metapodatke ažuriranja nakon svakog kruga

Stvorite drugi Formize obrazac **„FL‑Update Log“** s poljima:

| Polje | Tip | Opis |
|-------|------|------|
| `model_version` | Tekst |
| `round_number` | Broj |
| `data_hashes` | Tekst (JSON niz) |
| `consent_tx_ids` | Tekst (JSON niz) |
| `aggregator_signature` | Signature |

Nakon svakog agregacijskog kruga, poslužitelj poziva:

```python
def submit_update_log(version, round_num, data_hashes, consent_ids):
    payload = {
        "model_version": version,
        "round_number": round_num,
        "data_hashes": json.dumps(data_hashes),
        "consent_tx_ids": json.dumps(consent_ids),
    }
    client.submit_form('FL-Update Log', payload)
```

Budući da je obrazac povezan s neponovljivim ledgerom, svako ažuriranje postaje provjerljiv, vremenski označen zapis.

### 5. Izgradite nadzornu ploču usklađenosti

Formize nudi **report builder** koji može upitima ledger putem GraphQL‑a. Kreirajte ploču koja vizualizira:

* Broj aktivnih pristanka po jurisdikciji  
* Toplinsku mapu doprinosa podacima po tipu uređaja  
* Liniju nasljeđivanja verzija modela (graf koji prikazuje koji su pristanci ušli u koju verziju)

Izvozni formati uključuju PDF, CSV i JSON, spremni za podnošenje regulatorima.

### 6. Automatizirajte regulatorno izvještavanje

Korištenjem **radnog motora** Formizea, definirajte okidač:

> **Kada** se pojavi novi unos „FL‑Update Log“ **i** `round_number % 10 == 0`  
> **Tada** generiraj GDPR DSAR paket usklađenosti i pošalji ga DPO‑u putem e‑maila.

Radni tok se izvršava na server‑less runtimeu Formizea, eliminirajući potrebu za prilagođenim cron zadacima.

---

## Kvantificirane prednosti

| Metrika | Tradicionalni pristup | FL s Formizeom |
|--------|----------------------|----------------|
| **Vrijeme implementacije obrasca pristanka** | 6–8 tjedana (prilagođeno UI, backend) | 2–3 dana (drag‑and‑drop) |
| **Latencija revizijskog zapisa** | Sati (batch upload) | Gotovo u stvarnom vremenu (sekunde) |
| **Trošak usklađenosti** | $150k‑$250k godišnje (pravni i razvoj) | $30k‑$50k godišnje (automatizacija) |
| **Rizik neusklađenosti** | Visok (ručne greške) | Nizak (nepromjenjivi ledger) |

---

## Najbolje prakse i zamke koje treba izbjegavati

| Praksa | Zašto je važna |
|----------|----------------|
| **Verzija obrazaca** | Promjena sheme obrasca stvara novu verziju ugovora; stariji zapisi ostaju nepromijenjeni, čuvajući povijesnu integritetu. |
| **Šifriranje osjetljivih polja** | Iako je ledger nepromjenjiv, šifrirajte polja poput `user_id` kako biste ispunili načela minimizacije podataka. |
| **Keširanje na rubu** | Uređaji mogu biti izvan mreže satima; osigurajte da SDK kešira potpisane obrasce lokalno i automatski ponavlja slanje. |
| **Periodično čišćenje ledger‑a** | Za javne blockchaine razmotrite off‑chain pohranu velikih payloadova uz on‑chain hash‑e radi kontrole troškova. |
| **Integracija s registrom modela** | Povezivanje zapisa Formizea s MLflow‑om ili DVC‑om pruža jedinstveni izvor istine za liniju podrijetla modela. |

---

## Buduća proširenja

1. **Zero‑Knowledge Proofs** – Dodajte ZKP‑verifikaciju kako biste dokazali uključivanje podataka bez otkrivanja sirovih hash‑ova.  
2. **Federativna objašnjivost** – Kombinirajte podrijetlo iz Formizea s SHAP vrijednostima za generiranje izvještaja o doprinosu po uređaju.  
3. **AI‑poticani optimizator pristanka** – Iskoristite prikupljene metapodatke pristanka za treniranje preporučnog sustava koji predlaže optimalne opsege pristanka za nove uređaje.

---

## Zaključak

Federativno učenje obećava AI koji poštuje privatnost, ali **podrijetlo** i **usklađenost** često zaostaju. Formize zatvara ovaj jaz pretvarajući prikupljanje pristanka, bilježenje metapodataka i regulatorno izvještavanje u konfigurabilna iskustva s niskim kodom, poduprta nepromjenjivim revizijskim zapisima. Organizacije koje usvoje ovaj obrazac mogu **ubrzati** svoje FL implementacije, smanjiti pravni rizik i isporučiti pouzdane AI modele u velikom opsegu.

---

## Pogledajte i

- [Google AI Blog – Federated Learning: Privacy‑Preserving Machine Learning](https://ai.googleblog.com/2020/04/federated-learning-privacy-preserving.html)  
- [European Data Protection Board – Guidelines on Consent under GDPR](https://edpb.europa.eu/our-work-tools/consultations/consent_en)  
- [MLflow – Tracking Model Lineage and Metadata](https://mlflow.org/docs/latest/tracking.html)  
- [Hyperledger Fabric – Building Immutable Audit Trails for Enterprise Applications](https://www.hyperledger.org/use/fabric)