README.md in refcode-0.1.1 vs README.md in refcode-0.1.2

- old
+ new

@@ -1,13 +1,15 @@ -# Refcode +# RefCode -A ruby gem for converting arbitrary Ruby objects into encrypted, -URL-safe strings. The strings can be easily decrypted later for use in your -application. +A ruby gem for converting arbitrary Ruby objects into encrypted, URL-safe strings. The strings can be easily decrypted later for use in your application. -RefCode was conceived as a way to attach referral data to tracking links. Encryption -makes it unlikely that the links will be tampered with. Still, it is not recommended -for critically sensitive data! +RefCode was conceived as a way to attach referral data to tracking links. Encryption makes it unlikely that the links will be tampered with. Still, it is not recommended for sensitive data! + +## Why would you want this? + +Lets say your app needs to track activity around certain pages that are shared among your users. Using RefCode, you can generate URLs pointing to these pages that are meant to be shared across various channels (email, facebook, etc). These links can carry a small amount of encoded data as part of the URL that will guarantee that any events you track due to visits to these links can make use of this extra encoded data. The data might include, for example, which user originally shared the link and on which channel she did so. + +A secondary feature offered by the `Refcode::Encodable` mixin is the ability to guarantee that a given code works only for one (or more) specific page. For example, by using a unique value for the `salt` option that is tied to a single record, the generated code cannot be used with any other record. See the usage example below for a demonstration of this. ## Implementation - **Encryption** using the AES-256-CBC algorithm with https://github.com/attr-encrypted/encryptor which wraps the Ruby OpenSSL library.