APIs, Integrations, and Importing Data

Security


Here’s how Kissmetrics keeps your data safe from…

Hackers

All of our APIs use industry-standard SSL-encryption for sending and receiving data. We also use SSL for all interactions between our servers and between our servers and Amazon’s Web Services. Once data is received and processed it is stored in a proprietary data format offering an additional layer of security.

Our engineering team subscribes to all relevant security bulletins so that we can promptly address any security issues in the software we use. We also use automated testing to detect and protect our website from SQL injection attacks and other potential security violations.

Lastly, we keep each server isolated so that in the highly unlikely event of a server being breached the attacker would not gain automatic access to other servers in our network.

Technology Disasters

Kissmetrics takes several steps to protect your data in the event of a technology disaster. We, like many modern web companies, use Amazon’s Web Services which offers many high-availability features, but we go beyond what Amazon offers. We duplicate all of your data across multiple availability zones, ensuring that an Amazon outage in one zone does not completely take down our system. In the event of massive data loss we also retain raw logs of all data sent to us which would allow us to rebuild data in a worse-case scenario.

Additionally we offer users the ability to set up continuous automated exporting of all of their data to a destination of their choosing. This ensures that if Kissmetrics disappeared tomorrow you’d still have all of your valuable data.

Other Kissmetrics Customers

Internally we keep all data from customers in completely separate data stores. All data must be accessed with unique product keys preventing one customer from accessing a different customer’s data. All of our internal APIs use this product key along with a unique per-product secret (that is never published online) to generate HMAC-SHA512 signatures for each API request. This ensures that if a customer or attacker were able to access our internal APIs they wouldn’t be able to access any customer data without also having the secret for the customer. There is no way to derive the secret even if an attacker had access to a previous API request.

Additionally, Kissmetrics translates each person’s identity you pass in (such as “john@gmail.com”) to an internal ID that is unique to your product. This system is kept separate from the system that stores the data for that person. So even if both you and a different Kissmetrics customer had data for “john@gmail.com” it would be highly difficult to tie all of this data together.

Kissmetrics Employees

We restrict access to our servers to a limited number of employees. Employees are only granted access to servers they absolutely need access to. We generate unique SSH keys for each employee that can be revoked if needed. For our administrative web interface each employee has their own login which can be revoked. All other secure information is stored in our own internal system which is strongly encrypted. Each employee has their own login for this system and it has strict access control systems. This prevents a single employee or attacker from getting “all the keys to the castle” at once.

You

We force all passwords to have at least 8 characters and 2 numbers/symbols, and we only remember logins for a maximum of two-weeks from your last login. We also force SSL for all of our internal pages. Lastly we provide clear access controls with the default being the most restricted for any others you invite to share your account with.

See a hole? Tell us.

If you see a hole in our security or have a concern or question we strongly encourage you to e-mail us at: security@kissmetrics.com.

Was this helpful?