
# ניהול הסכמה דינמית ליצירת נתונים סינתטיים עם Formize ובינה מלאכותית גנרטיבית

> **TL;DR** – צינורות נתונים סינתטיים מודרניים לעיתים מתעלמים מהעדפות ההסכמה המשתנות של נושאי הנתונים. על‑ידי הטמעת תזמור טפסים בזמן אמת של Formize בתהליך סינתזת נתונים מונע‑בינה מלאכותית, ארגונים יכולים ללכוד הסכמה מדורגת, לאכוף אותה אוטומטית במהלך יצירת הנתונים ולשמר מסלול ביקורת בלתי ניתן לשינוי העונה על דרישות [GDPR](https://gdpr.eu/), [CCPA](https://oag.ca.gov/privacy/ccpa) והתקנות האתיות המתפתחות של AI כגון [EU AI Act](https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai).

---

## למה הסכמה חשובה בנתונים סינתטיים

הנתונים הסינתטיים מבטיחים ניתוחים המגנים על פרטיות, אך הנתונים המקוריים עדיין שייכים לאנשים אמיתיים. תקנות כגון **התקנה האירופית להגנת נתונים (GDPR)**, **חוק פרטיות הצרכן בקליפורניה (CCPA)** וה-**EU AI Act** המתקרב דורשות שכל שימוש בתחתית של נתונים אישיים – אמיתיים או סינתטיים – יכבד את בחירות ההסכמה של נושא הנתונים.

אתגרים מרכזיים:

| אתגר | השפעה טיפוסית |
|-----------|----------------|
| **היקפי הסכמה מדורגים** | הסכמה כללית “כן/לא” אינה תופסת העדפות עדינות (למשל, “לאפשר נתוני בריאות למחקר אך לא לשיווק”). |
| **גרסאות הסכמה** | ההסכמה מתפתחת; גרסאות ישנות עשויות להפוך ללא תקפות, אך הצינורות ממשיכים להשתמש בהרשאות מיושנות. |
| **אכיפה חוצת‑מערכות** | צינורות נתונים משתרעים על פני כלים מרובים (ETL, מודלים גדולים, אחסון). אכיפת הסכמה ביניהם נוטה לטעויות. |
| **ביקורתיות** | רגולטורים דורשים הוכחה בלתי ניתנת לשינוי של ההסכמה ברגע יצירת הנתונים. |

Formize, עם בונה הטפסים בעל‑קוד נמוך, ארכיטקטורת API‑first, ורשומות ביקורת תואמות בלוקצ׳יין, ממוקמת באופן ייחודי לפתור בעיות אלו.

---

## סקירה ארכיטקטונית

להלן תרשים Mermaid ברמת‑הקצה המתאר את הזרימה המלאה מתפיסת ההסכמה ועד יצירת הנתונים הסינתטיים והצריכה שלהם.

```mermaid
flowchart TD
    A["Data Subject Portal"] --> B["Formize Consent Form"]
    B --> C["Consent Ledger (Immutable)"]
    C --> D["Consent Service API"]
    D --> E["Synthetic Data Orchestrator"]
    E --> F["Generative AI Model (LLM / Diffusion)"]
    F --> G["Synthetic Dataset Store"]
    G --> H["Analytics & ML Teams"]
    H --> I["Regulatory Audit Dashboard"]
```

*כל הצמתים מצוטטים כנדרש; לא נעשה שימוש בתווים מוצפנים.*

### פירוט רכיבים

1. **Data Subject Portal** – ממשק ווב או מובייל שבו אנשים יכולים לצפות, לשנות או למשוך את ההסכמה שלהם.  
2. **Formize Consent Form** – טופס קונפיגורבילי בעל‑קוד נמוך הלוכד היקף הסכמה, מטרה, קטגוריות נתונים ותאריכי תפוגה.  
3. **Consent Ledger** – Formize כותבת כל אירוע הסכמה ללוג בלתי ניתן לשינוי (אפשר לעגן בבלוקצ׳יין לצורך הוכחת שלמות).  
4. **Consent Service API** – מיקרו‑שירות קל משקל המחשוף את הקצוות `GET /consent/{subjectId}` ו‑`POST /consent/validate`.  
5. **Synthetic Data Orchestrator** – מתזמן חילוץ, שינוי והזנה של הנתונים למודל הגנרטיבי. הוא שואל את Consent Service לפני כל משימת יצירה.  
6. **Generative AI Model** – כל מודל LLM, Diffusion או סינתזת טבלאות הצורך את הנתונים הגולמיים.  
7. **Synthetic Dataset Store** – אחסון אובייקטים מאובטח עם מטא‑דטה המקשרת חזרה לגרסת ההסכמה שבה השתמשו.  
8. **Analytics & ML Teams** – משתמשים בנתונים הסינתטיים לאימון מודלים, בדיקות או דוחות.  
9. **Regulatory Audit Dashboard** – מציג מקוריות ההסכמה, חותמות זמן של יצירה וקווריית המודל.

---

## מדריך יישום שלב‑אחר‑שלב

### 1. תכנון טופס ההסכמה ב‑Formize

* השתמשו בבונה גרור‑והשלך של Formize ליצירת השדות:
  * **Data Categories** – בחירה מרובה (לדוגמה, “דמוגרפיה”, “רשומות רפואיות”, “עסקאות פיננסיות”).  
  * **Allowed Purposes** – תיבות סימון (לדוגמה, “מחקר”, “פיתוח מוצר”, “שיווק”).  
  * **Retention Period** – בוחר תאריך.  
  * **Dynamic Conditions** – לוגיקה מותנית המציגה שדות נוספים כאשר נבחר “נתונים רגישים”.  

* אפשרו **גרסאות**: בכל שינוי במבנה הטופס, Formize יוצר אוטומטית מזהה גרסה חדש (`v1`, `v2`, …). מזהה גרסה זה נשמר יחד עם כל רשומת הסכמה.

### 2. לכידת אירועי הסכמה

כאשר נושא מגיש את הטופס:

```json
POST /api/v1/consent
{
  "subjectId": "user-12345",
  "formVersion": "v3",
  "consentGiven": true,
  "scopes": ["demographics", "financial"],
  "purposes": ["research"],
  "expiresAt": "2028-12-31T23:59:59Z",
  "signature": "base64‑encoded‑hash"
}
```

Formize כותבת מטען זה ל‑**Consent Ledger**, שניתן להגדירו כך ש:

* יאוחסן במאגר append‑only בלתי ניתן לשינוי (למשל **Cassandra** עם קומפקשן **Time‑Series**).  
* יפרסם אופציונלית hash ברשת ציבורית (למשל **Ethereum** או **Polygon**) לאימות חיצוני.

### 3. בניית Consent Service API

מעטפת סביב SDK של Formize:

```go
// consent_service.go
package consent

import (
    "net/http"
    "encoding/json"
    "github.com/formize/sdk"
)

type ConsentRequest struct {
    SubjectID string `json:"subjectId"`
    DataCategories []string `json:"dataCategories"`
    Purpose string `json:"purpose"`
}

// Validate בודק אם ההסכמה של הנושא מכסה את ההיקף המבוקש.
func Validate(w http.ResponseWriter, r *http.Request) {
    var req ConsentRequest
    json.NewDecoder(r.Body).Decode(&req)

    consent, err := sdk.GetLatestConsent(req.SubjectID)
    if err != nil {
        http.Error(w, "Consent not found", http.StatusNotFound)
        return
    }

    // מנוע חוקים פשוט
    allowed := false
    for _, cat := range req.DataCategories {
        for _, allowedCat := range consent.Scopes {
            if cat == allowedCat {
                allowed = true
                break
            }
        }
    }

    if allowed && consent.PurposesContains(req.Purpose) && !consent.IsExpired() {
        w.WriteHeader(http.StatusOK)
        json.NewEncoder(w).Encode(map[string]bool{"allowed": true})
    } else {
        w.WriteHeader(http.StatusForbidden)
        json.NewEncoder(w).Encode(map[string]bool{"allowed": false})
    }
}
```

*השירות ניתן לפריסה כ‑function של **Knative** או קונטיינר **Docker** מאחורי שער API.*

### 4. אינטגרציה עם Synthetic Data Orchestrator

רוב פלטפורמות התזמון (למשל **Airflow**, **Prefect**, **Dagster**) תומכות באופרטורים מותאמים ב‑Python. להלן משימת Prefect שבודקת הסכמה לפני הפעלת משימת יצירה.

```python
# consent_check_task.py
from prefect import task, Flow
import requests

@task
def check_consent(subject_id: str, categories: list, purpose: str):
    payload = {
        "subjectId": subject_id,
        "dataCategories": categories,
        "purpose": purpose
    }
    resp = requests.post("https://consent.service/api/v1/validate", json=payload)
    resp.raise_for_status()
    return resp.json()["allowed"]

@task
def generate_synthetic_data(subject_id: str):
    # מקום למודל LLM או Diffusion
    print(f"Generating synthetic data for {subject_id}")

with Flow("synthetic-data-pipeline") as flow:
    allowed = check_consent("user-12345", ["demographics"], "research")
    generate = generate_synthetic_data("user-12345")
    generate.set_upstream(allowed, upstream_tasks=[allowed])

flow.run()
```

אם `allowed` הוא `False`, הצינור מתבטל ונרשמת כניסה לביקורת.

### 5. שמירת מטא‑דטה של היצירה

כאשר מאגר הנתונים הסינתטי נשמר, צרפו **מניפסט מטא‑דטה**:

```json
{
  "datasetId": "synthetic-2026-08-21-001",
  "generatedAt": "2026-08-21T14:32:10Z",
  "consentVersion": "v3",
  "subjectId": "user-12345",
  "model": "gpt‑4‑synthetic‑v1",
  "purpose": "research"
}
```

Formize יכול להטביע מניפסט זה במטא‑דטה מותאם של האובייקט (למשל כ‑header `x-amz-meta-*` ב‑S3) או לאחסן אותו ב‑catalog כגון **DataHub**.

### 6. בניית לוח בקרה לביקורת

באמצעות **Grafana** או **Superset**, ניתן להציג:

* גרסת ההסכמה מול גרסת המידע הסינתטי.  
* מספר המאגרים שנוצרו לפי מטרה.  
* אירועי משיכת הסכמה והשפעתם על הצינורות.

דוגמת שאילתת Grafana (SQL‑דומה):

```sql
SELECT
  consent_version,
  COUNT(*) AS datasets_generated,
  SUM(CASE WHEN purpose = 'research' THEN 1 ELSE 0 END) AS research_datasets
FROM synthetic_dataset_store
GROUP BY consent_version
ORDER BY consent_version DESC;
```

---

## יתרונות הלולאה המונעת‑הסכמה של Formize

| יתרון | הסבר |
|---------|-------------|
| **התאמה רגולטורית** | אימות בזמן אמת מבטיח שרק נתונים עם הסכמה עדכנית ישמשו, מה שמקיים את דרישות GDPR סעיף 7 ו‑CCPA § 1798.120. |
| **הסכמה דינמית** | נושאים יכולים לשנות העדפות בכל רגע; הרצה הבאה של הצינור תכבד את המצב החדש באופן אוטומטי. |
| **מקוריות בלתי ניתנת לשינוי** | כל אירוע הסכמה מקושר קריפטוגרפית למאגר הנתונים הסינתטי, מה שמאפשר ביקורת בלתי ניתנת לזיוף. |
| **קוד‑נמוך ברמת‑העסק** | בונה הטפסים הוויזואלי של Formize מקצר זמן פיתוח; צוותי ציות ללא רקע טכני יכולים לנהל טפסים ישירות. |
| **שימוש חוזר חוצי‑תחום** | שירות ההסכמה ניתן לצריכה על‑ידי אנליטיקה, אימון AI ושווקים חיצוניים של נתונים. |

---

## מקרי שימוש מהעולם האמיתי

### 1. קונסורציום מחקר בריאות

קונסורציום רב‑מוסדי זקוק לרשומות חולים סינתטיות לאימון מודלים AI תוך שמירה על העדפות האופט‑אאוט של המטופלים. באמצעות לולאת ההסכמה, הקונסורציום:

* קולט הסכמה בפורטל בית החולים.  
* מבטיח שכל קוהורט סינתטי יחריג מטופלים שהסירו את ההסכמה.  
* מספק לרגולטורים דוח ביקורת בלחיצה אחת המקשר כל רשומה סינתטית ל‑hash ההסכמה.

### 2. מודלים של סיכון במוסדות פיננסיים

בנקאות מייצרת נתוני עסקאות סינתטיים לבדיקות עומס. בעזרת Formize, הן:

* מפרידות בין “שיווק” ל‑“ניתוח סיכון”.  
* חוסמות אוטומטית יצירת נתונים סינתטיים עבור לקוחות שהסכימו רק לשיווק.  
* מצמצמות חשיפה משפטית ומאיצות מחזור פיתוח המודלים.

### 3. פיתוח מוצר בטק SaaS

חברת SaaS אוספת טלמטריית שימוש. עם Formize הן:

* מציעות הסכמה מדורגת ל‑“ניסוי תכונה” מול “פרסום”.  
* מתאימות את צינורות הנתונים הסינתטיים בזמן אמת כאשר משתמשים משנים העדפות.  
* מציגות לוח בקרה ציבורי הממחיש שימוש בנתונים על‑פי הסכמה.

---

## שיטות עבודה מומלצות & טעויות שכדאי להימנע מהן

| שיטת עבודה מומלצת | למה זה חשוב |
|---------------|----------------|
| **גרסאות לכל שינוי בטופס** | מבטיחה שרשומות ההסכמה הישנות יישארו מקושרות למבנה שבו נלכדו. |
| **לעולם אל תאחסנו PII גולמי במאגר הסינתטי** | הנתונים הסינתטיים צריכים להיות נגזרים; אחסון מזהים מקוריים מבטל את מטרת הפרטיות. |
| **הצפנת חתימות ההסכמה עם מלח** | מונעת התקפות rainbow‑table תוך שמירה על אפשרות אימות. |
| **להטמיע “תקופת חסד” לאחר משיכת הסכמה** | מאפשרת לצינורות לסיים משימות פעילות לפני הפסקת יצירות חדשות. |
| **סיבוב קבוע של מפתחות הצפנה ללוג** | מחזק את האבטחה של הלוג הבלתי ניתן לשינוי מבלי לפגוע בביקורת (השתמשו באסטרטגיות key‑rolling). |

**טעויות נפוצות**

* **קידוד קבוע של בדיקות ההסכמה בקוד המודל** – הכנסת לוגיקה של הסכמה ישירות בקוד המודל מקשה על עדכונים. מרכזו את הלוגיקה ב‑Consent Service API.  
* **התעלמות מתפוגת ההסכמה** – יש להתייחס ל‑`expiresAt` כמועד קפדני; תזמנו משימות לביטול אוטומטי.  
* **איסוף יתר של נתוני הסכמה** – אספו רק את המידע הדרוש למטרה המוצהרת; שדות מיותרים מגבירים את סיכון ה‑“מינימיזציה של נתונים” ב‑GDPR.

---

## כיוונים עתידיים

1. **ניסוח הסכמה בעזרת AI** – להשתמש במודלים גדולים ליצירת ניסוח הסכמה בהתאם לשיפוט השיפוטי, ולהפחית עומס על צוותי משפט.  
2. **הסכמה פדרלית בין ארגונים** – לנצל **זהויות מבוזרות (DIDs)** ו‑**אישורים ניתנים לאימות** לשיתוף מצב הסכמה מעבר לגבולות אמון מבלי למרכז נתונים.  
3. **משיכת הסכמה בזמן אמת דרך Webhooks** – לדחוף אירועי משיכה ישירות ל‑Synthetic Data Orchestrator לביטול מיידי של משימות.  
4. **נתונים סינתטיים מוסברים** – לצרף הסברים של מקוריות (למשל “נוצר בעזרת גרסת הסכמה v3, מטרה מחקר”) לכל רשומה סינתטית לשיפור פרשנות מודלים.

---

## סיכום

הסכמה דינמית איננה עוד תוספת “נחמד‑להיות”; היא חובה רגולטורית לכל ארגון הממיר נתונים אישיים לנכסים סינתטיים. על‑ידי חיבור מנוע הטפסים בעל‑קוד נמוך של Formize לצינורות בינה מלאכותית גנרטיבית, חברות יכולות:

* ללכוד הסכמה ברמת הפירוט שהחוקים דורשים.  
* לאכוף את ההסכמה באופן אוטומטי במהלך סינתזת הנתונים.  
* לספק לבודקים הוכחה בלתי ניתנת לשינוי של ציות.

התוצאה היא מערכת נתונים סינתטיים אמינה המזרזת חדשנות תוך שמירה על זכויות הפרט.

---

## ראה גם

- **סעיף 7 של GDPR – תנאי ההסכמה**  
- **רשומות ביקורת מבוססות בלוקצ׳יין לממשל נתונים** (IEEE Xplore)