Skip to content

Commit

Permalink
Date localization!
Browse files Browse the repository at this point in the history
  • Loading branch information
ylechelle committed Feb 11, 2014
1 parent c7f3740 commit 2dcbc72
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 5 deletions.
2 changes: 1 addition & 1 deletion OpenIDFA.h
Original file line number Original file line Diff line number Diff line change
@@ -1,7 +1,7 @@
// //
// OpenIDFA.h // OpenIDFA.h
// //
// Created by Yann Lechelle on 07/02/14. // Created by Yann Lechelle on 07 Feb 2014.
// Copyright (c) 2014 APPSFIRE. // Copyright (c) 2014 APPSFIRE.
// This Library is released under the Creative Commons licence with "Attribution No Derivatives" (CC BY-ND) // This Library is released under the Creative Commons licence with "Attribution No Derivatives" (CC BY-ND)
// //
Expand Down
14 changes: 10 additions & 4 deletions README.md
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ To make room for the Yang, something had to give. As such, OpenIDFA is not a dro
You decide. If Apple is fine with your use of IDFA, then why change? Reversely, what prevents you from also logging OpenIDFA in case Apple changes its mind? Complementary or alternative. Your call. If you’re using a 3rd party attribution solution, engage with your provider and invite them to consider OpenIDFA, instead of their own proprietary spin which will effectively allow them to lock you in. In addition, attribution solutions can be very expensive and they tend to prefer proprietary solutions (which recreate silos and prevent interoperability). You decide. If Apple is fine with your use of IDFA, then why change? Reversely, what prevents you from also logging OpenIDFA in case Apple changes its mind? Complementary or alternative. Your call. If you’re using a 3rd party attribution solution, engage with your provider and invite them to consider OpenIDFA, instead of their own proprietary spin which will effectively allow them to lock you in. In addition, attribution solutions can be very expensive and they tend to prefer proprietary solutions (which recreate silos and prevent interoperability).


####How is that different from fingerprinting? ####How is that different from fingerprinting?
Fingerprinting is a technique that typically aims to recreate a unique device or user identifier that is persistent forever, thereby ignoring privacy concerns; at the same time, fingerprinting identifiers are often not so unique (80%-90% range) so they fail to measure accurately conversion rates. OpenIDFA uses advanced fingerprinting techniques combined with other properties to achieve maximum uniqueness (99.99%+), while at the sametime having built-in expiration to prevent data hoarding and long term tracking (cf. the Yin and the Yang). Fingerprinting is a technique that typically aims to recreate a unique device or user identifier that is persistent forever, thereby ignoring privacy concerns; at the same time, fingerprinting identifiers are often not so unique (80%-90% range) so they fail to measure accurately conversion rates. OpenIDFA uses advanced fingerprinting techniques combined with other properties to achieve maximum uniqueness (99.99%+), while at the same time having built-in expiration to prevent data hoarding and long term tracking (cf. the Yin and the Yang).


####Why can't I just use vendorID again? ####Why can't I just use vendorID again?
VendorID is no good for advertising. Attribution via VendorID is impossible between the publisher app and the advertised app (typically two distinct vendors) since the IDs will be guaranteed to be different. On the other hand, VendorID is perfect for endogenous vendor Analytics, A/B testing, fraud detection, etc… VendorID is no good for advertising. Attribution via VendorID is impossible between the publisher app and the advertised app (typically two distinct vendors) since the IDs will be guaranteed to be different. On the other hand, VendorID is perfect for endogenous vendor Analytics, A/B testing, fraud detection, etc…
Expand All @@ -54,8 +54,8 @@ VendorID is no good for advertising. Attribution via VendorID is impossible betw
- *Who has access to OpenIDFA ids?* Only those that call for it within a day. It’s a shared identifier, but only lasts a day, very much like IDFA. It is not owned by anyone in particular, it is decentralized by nature. - *Who has access to OpenIDFA ids?* Only those that call for it within a day. It’s a shared identifier, but only lasts a day, very much like IDFA. It is not owned by anyone in particular, it is decentralized by nature.
Is it compliant with the law? Certainly. If anything, OpenIDFA is more ephemereal than the formal IDFA and thefore further in line with the spirit of privacy protection. Is it compliant with the law? Certainly. If anything, OpenIDFA is more ephemereal than the formal IDFA and thefore further in line with the spirit of privacy protection.
- *Is OpenIDFA compliant with the App Store terms of services?* Certainly, the OpenIDFA uses strictly public APIs. - *Is OpenIDFA compliant with the App Store terms of services?* Certainly, the OpenIDFA uses strictly public APIs.
- *Is OpenIDFA bound to a user or the device?* OpenIDFA is bound to the device itself much like OpenIDFA (and therefore to the user using the device) - *Is OpenIDFA bound to a user or the device?* OpenIDFA is bound to the device itself much like IDFA (and therefore to the user using the device)
- *Is OpenIDFA anonimized?* The identifier itself is anonymous. But as with any identifier, we rely on developer best practice to anonymize data they collect. Luckily, OpenIDFA expires within a day, so it won’t be of much use after 24h! - *Is OpenIDFA anonymized?* The identifier itself is anonymous. But as with any identifier, we rely on developer best practice to anonymize data they collect. Luckily, OpenIDFA expires within a day, so it won’t be of much use after 24h!


####What are typical use cases for OpenIDFA? ####What are typical use cases for OpenIDFA?
- *Server-side frequency capping:* use OpenIDFA to minimize exposure of a given ad by counting how many times a given identifier (or a trio, see below) has been exposed to it... - *Server-side frequency capping:* use OpenIDFA to minimize exposure of a given ad by counting how many times a given identifier (or a trio, see below) has been exposed to it...
Expand All @@ -66,6 +66,11 @@ Is it compliant with the law? Certainly. If anything, OpenIDFA is more ephemerea
First there was OpenUDID, now OpenIDFA. Seemed fitting no? First there was OpenUDID, now OpenIDFA. Seemed fitting no?
OpenIDFA is provided as a static library that somewhat protects the inherent properties that limit tracking; as such, it is not open-source. Yet, OpenIDFA remains open and free to use by all, in a decentralized fashion, as was the case for OpenUDID. OpenIDFA is interoperable and not proprietary to any vendor. It’s part of the commons now. In fact, it is distributed under the Creative Commons license (Attribution BY + NoDerivatives ND). OpenIDFA is provided as a static library that somewhat protects the inherent properties that limit tracking; as such, it is not open-source. Yet, OpenIDFA remains open and free to use by all, in a decentralized fashion, as was the case for OpenUDID. OpenIDFA is interoperable and not proprietary to any vendor. It’s part of the commons now. In fact, it is distributed under the Creative Commons license (Attribution BY + NoDerivatives ND).


Now, about that source code: leap of faith, for now! Though the code is deceivingly simple. The essence lies in the acceptance that tracking tokens MUST expire, sooner rather than later (instead of explicit reset or limitations enacted by the user as is the case with the current IDFA system). Once that baseline is secured, the code follows the function and vice-versa.

As stated above, the code is locked up inside that lib. Feel free to reverse engineer it, you're likely to be deceived actually! That being said, the code is not meant to remain a mystery. [Register here][8] if you would like to be considered for preliminary peer-review.


####How much does it cost? When is it available? ####How much does it cost? When is it available?
OpenIDFA will cost you zero bitcoin, available on Feb 7th 2014. OpenIDFA will cost you zero bitcoin, available on Feb 7th 2014.


Expand Down Expand Up @@ -125,4 +130,5 @@ Why do we find out about important evolutions in the way the iOS APIs are to be
[4]: http://techcrunch.com/2014/02/03/apples-latest-crackdown-apps-pulling-the-advertising-identifier-but-not-showing-ads-are-being-rejected-from-app-store/ "TechCrunch" [4]: http://techcrunch.com/2014/02/03/apples-latest-crackdown-apps-pulling-the-advertising-identifier-but-not-showing-ads-are-being-rejected-from-app-store/ "TechCrunch"
[5]: https://developer.apple.com "apple.com developer" [5]: https://developer.apple.com "apple.com developer"
[6]: https://developer.apple.com/library/ios/documentation/AdSupport/Reference/ASIdentifierManager_Ref/ASIdentifierManager.html "IDFA" [6]: https://developer.apple.com/library/ios/documentation/AdSupport/Reference/ASIdentifierManager_Ref/ASIdentifierManager.html "IDFA"
[7]: http://OpenIDFA.org "OpenIDFA" [7]: http://OpenIDFA.org "OpenIDFA"
[8]: https://docs.google.com/forms/d/1ynocrB2Zeern0_bzpZoREE_2OXMd8Pgh-nO9kda6N6g/viewform "Register for Code"

0 comments on commit 2dcbc72

Please sign in to comment.