 
           if security_log.type == 'update_setting'
             security_log.type = 'update_preferences'
+
+            security_log.payload =
+              original_preferences: {}
+              preferences: {}
+
+            security_log.payload.original_preferences[security_log.attribute.name] = security_log.attribute.old_value
+            security_log.payload.preferences[security_log.attribute.name] = security_log.attribute.value
+
+          else if security_log.type == 'update_email'
+            security_log.payload =
+              original_email: security_log.attribute.old_email
+              email: security_log.attribute.email
+
+          else
+            security_log.payload = _.omit security_log.attribute, 'token'
 
           token = security_log.attribute.token
           token.type ?= 'full_access'

            account.attribute.plugin.shadowsocks.method = 'aes-256-cfb'

          account.attribute.plugin.bitcoin =
            bitcoin_deposit_address: account.attribure.bitcoin_deposit_address
            bitcoin_secret: account.attribure.bitcoin_secret

          for token in account.tokens
            token.type = 'full_access'

            payload: balance_log.attribute
          , (err) ->
            throw err if err
            console.log "[financials] created #{balance_log._id}"
            callback()

      , ->
