A felhasználó és a fejlesztő között létrejövő adatkezelés viszony az alkalmazás telepítésével jön létre, és az alkalmazás törlésével szűnik meg. Két idevágó fontos (kötelező!) teendőről, fejlesztői feladatról szól ez a bejegyzés.
Telepítés előtt
Az iWiW felhasználók az alkalmazás telepítése előtt is interakcióba léphetnek azzal, hiszen egy másik felhasználó profil oldalán, vagy egy másik felhasználó canvas oldalán telepítés nélkül is megtekinthetik, “futtathatják” azt. Mivel ekkor még nem születik meg a felhasználó és a fejlesztő között az adatkezelésről és felhasználásról szóló megállapodás, ezért az alkalmazások ilyenkor még nem tárolhatnak le a felhasználóról semmilyen információt.
Ez fejlesztési feladatra lebontva azt jelenti, hogy ha a profil vagy a canvas nézetben az alkalmazás bármit eltárol az adott felhasználóról, akkor ellenőriznie kell, hogy a felhasználó már telepítette-e az alkalmazást. Ha még nem, akkor ez az adattárolás csak anonim módon, a felhasználóhoz nem köthetően valósulhat meg. Ha ez nem lehetséges akkor, célszerű lehet felkérni a felhasználót arra, hogy telepítse az alkalmazást. Ehhez a megfelelő navigációs megoldást a requestNavigateTo függvénnyel (lásd itt) oldhatjátok meg, a függvény harmadik paramétere egy felhasználói azonosítót vár, itt a “VIEWER”-t kell megadni.
Törlés után
Ha egy felhasználó töröl egy alkalmazást, kötelező, a Fejlesztői ÁSZF-ben foglalt adatkezelési irányelvek szerinti feladatotok a felhasználóhoz kapcsolódó adatok törlése, anonimizálása. Az alkalmazás törlése során az adatkezelési szerződés megszűnik a fejlesztő és a felhasználó között, s ezt a helyzetet kell rendezni. A Fejlesztői Útmutató kivonatának 5. pontjában (a Fejlesztői Útmutató IV. pontjában) a hazai jogszabályokkal összhangban a következő szerepel:
Amennyiben egy felhasználó töröl egy alkalmazást, azaz többé már nem akarja azt használni, úgy a felhasználóról akár iWiW-től, akár magától a felhasználótól begyűjtött adatok semmilyen formában nem használhatók, kezelhetők, tárolhatók, elemezhetők, értékesíthetőek, stb. Ezeket az adatokat fejlesztő köteles megsemmisíteni.
Felhasználóhoz nem köthető, nem személyes jellegű információk esetén - erre az alkalmazás adatkezelési nyilatkozatában külön ki kell térni - a törlés helyett anonimizálás is járható utat jelent, az összes többi adatot viszont törölni kell.
Az OpenSocial szabvány erre a feladatra az úgynevezett lifecycle event -et definiálja, mely segítségével az alkalmazás fejlesztője az alkalmazás telepítéséről és törléséről is értesülhet. Az itt megadott URL-re az iWiW aláírt kéréseket indít, melyeket (jelen esetben a törlést) a fentiek alapján le kell kezelni.
Írjuk a következőket bele az alkalmazás XML fejlécébe, a ModulePrefs-en belülre:
<Link rel="event.addapp" href="http://www.example.com/add" />
<Link rel="event.removeapp" href="http://www.example.com/remove" />
Az URL-ek felé menő kérésben egyetlen hasznosítható információ fog szerepelni, a felhasználó azonosítója, “id” nevű GET paraméterrel. Mivel sem az esemény típusa, sem az alkalmazás azonosítója nem szerepel ebben a kérésben, ezért az URL-nek magának kell ezt az információt hordoznia - akár például két GET paraméter segítségével.
Amire mindenképpen figyelnünk kell, hogy az iWiW felől, bármelyik alkalmazásból ne legyen hamisítható ez a kérés, hiszen pótolhatatlan adatok veszhetnek el. Az alkalmazásokból indított kérések során az iWiW felől érkező kérésben több információ is szerepel, melynek hiányából következtethetünk arra, hogy a megfelelő irányból kaptuk a kérést. Ha nincs opensocial_owner_id, opensocial_viewer_id, opensocial_app_id, opensocial_app_url a kérésben, de van id paraméter, és az aláírás helyes(!), akkor biztosak lehetünk benne, hogy valóban az iWiW felől érkezett életciklus esemény, s a fentiek szerint kell cselekednünk.
Kérjük figyeljetek ezekre a kérdésekre, az adatkezelési irányelveknek való megfelelőség szigorú elbírálási kritérium!
Legutóbbi hozzászólások