שינוי התאריך

תאריכים הם סוג נפוץ מאוד של נתונים. במקרים שבהם תאריכים יכולים להיחשב כמידע אישי רגיש או כפרטים אישיים מזהים (PII), יכול להיות שתצטרכו להכליל, להטשטש או לצנזר אותם.

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

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

דוגמה להזזת תאריך

כדאי להביא בחשבון את הנתונים הבאים:

user_id תאריך פעולה
1 2009-06-09 הפעלה
1 2009-06-03 הליכה
1 2009-05-23 סריקה
2 2010-11-03 סריקה
2 2010-11-22 הליכה
... ... ...

אם מכלילים את התאריכים האלה לשנה, מקבלים:

user_id date_year פעולה
1 2009 הפעלה
1 2009 הליכה
1 2009 סריקה
2 2010 סריקה
2 2010 הליכה
... ... ...

אבל עכשיו איבדתם את תחושת הרצף לכל משתמש.

במקום זאת, כדאי לנסות להזיז את התאריך:

user_id תאריך פעולה
1 2009-07-17 הפעלה
1 2009-07-11 הליכה
1 2009-06-30 סריקה
2 2011-01-26 סריקה
2 2011-02-14 הליכה
... ... ...

שימו לב שהתאריכים שונים, אבל הרצף ומשך הזמן נשמרים. ההפרש בין התאריכים שונה בין user_id 1 ל-2.

הזזת תאריכים ב-Sensitive Data Protection

אובייקט JSON להגדרת השיטה content.deidentify של Sensitive Data Protection:

deidentify_config {
  record_transformations {
    field_transformations {
      fields {
        name: "date"
      }
      primitive_transformation {
        date_shift_config {
          upper_bound_days: 100
          lower_bound_days: -100
          entity_field_id {
            name: "user_id"
          }
          crypto_key {
            unwrapped {
              key: "123456789012345678901234567890ab"
            }
          }
        }
      }
    }
  }
}

הגבולות העליון והתחתון של השינוי מוגדרים על ידי הערכים upper_bound_days ו-lower_bound_days, בהתאמה. ההקשר או ההיקף שבהם יחול השינוי הזה מבוססים על הערך entity_id_field, שבמקרה הזה הוא "user_id".

שימו לב גם לשימוש ב-crypto_key. זה דומה לשימוש בפסאודונימיזציה. המפתח יאפשר לכם לשמור על השלמות של שינויי התאריכים האלה בכמה בקשות או הפעלות של נתונים.

משאבים

מידע נוסף על הסרת פרטים מזהים מנתונים באמצעות שינוי תאריכים ושיטות אחרות ב-Sensitive Data Protection זמין במאמרים הבאים:

למידע על הפניות ל-API בנושא טרנספורמציות פרימיטיביות ב-Sensitive Data Protection, אפשר לעיין במאמרים הבאים:

  • DeidentifyConfig object: האובייקט שבו מגדירים את האפשרויות להסרת פרטים מזהים.
  • PrimitiveTransformations אובייקט: שינוי תאריך הוא 'שינוי בסיסי' ב-Sensitive Data Protection.
  • DateShiftConfig object: האובייקט שבו רוצים להגדיר את PrimitiveTransformations object. אם מציינים את האובייקט DateShiftConfig, אפשר להזיז את התאריכים במספר אקראי של ימים.