ElephantSQL Security Policy
This Security Policy was last revised on February 07, 2018.
When relying on third party, a certain amount of confidence is needed. You will need to trust vendors to manage and handle your online data securely. Cloud securityis important, because it is essential for protecting hosted information - we understand that even small gaps in security coverage can put everything at risk including your data, customer information, uptime, and potentially a company’s reputation. This document gives a general understanding of what we at ElephantSQL are doing to protect the integrity of your data.
This document will give a brief introduction to the security policies in ElephantSQL. It is a living document that is continually updated. Our security policies are not limited to this document, effective security is a team effort that we evolve all the time. We routinely audits and manages the security of our services and applies security best practices.
Our internal development, operations, and processes themselves have been constructed to provide maximum data security.
1. System security
1.1 Coding standards and development
A well built environment start with high coding standards that guard against attempted security breaches and are accompanied by code reviews and tests. We have strict development processes and we are following specified coding standards to ensure the best security practices.
1.2 Application Security
System components undergo tests (various black box and white box tests) and source code reviews to assess the security of our application interface, architecture, and services layers before we are adding our code into production. ElephantSQL always control third-party applications to review the security of them before we are adding them into ElephantSQL services.
1.3 System Configuration
Server and system access is limited to some people in ElephantSQL and requires ssh keys when identifying trusted computers along with usernames and passwords. Furthermore, everyone at ElephantSQL are forced to enable 2-step authentication on every cloud platform that are providing it (such platforms as AWS and Heroku). We do not share individual authentication credentials.
2 Physical Data Center Security
Our physical infrastructure is hosted and managed on a range of different datacenter’s (AWS, Azure, IBM Softlayer, GCE, Rackspace etc). We rely on their flexible and secure cloud infrastructure to store data logically across multiple cloud regions and (in AWS) availability zones. The data centers ensures the utmost in data security and protection. They all ensure that all data is stored in highly secure data centers. All data centers that run our solution are secured and monitored 24/7. Physical access to datacenter facilities is strictly limited to select cloud staff. They continually manage risk and undergo recurring assessments to ensure compliance with industry standards.
How specific datacenters are handling fire detection, power loss, climate disasters, temperature control, datacenter management, etc., can be found on the datacenters' websites.
- AWS Cloud Security: https://aws.amazon.com/security/
- Google Cloud Platform Security: https://cloud.google.com/security/
- Security Features in the Azure Platform: https://azure.microsoft.com/en-us/support/legal/security-overview/
- Bluemix: https://console.ng.bluemix.net/docs/security/index.html
- Softlayer: https://developer.ibm.com/marketplace/docs/technical-scenarios/security-services-softlayer/
3 Customer Data Security
ElephantSQL provides several security capabilities and services to increase privacy. No one will be able to connect or view your PostgreSQL server as long as you take care of your connection credentials.
ElephantSQL have anonymized all customer information used in development and test environments.
3.1 ElephantSQL employees data access
All employees undergo pre-employment background checks and must agree to company policies including security policies. We provide an ongoing yearly program of security awareness training designed to keep all members of staff informed and vigilant of security risks.
A few employees at ElephantSQL will have the possibility to access the server and PostgreSQL. We ensure that we will not view any messages sent across our servers without permissions. CloudKarafka cannot access message payloads that have been encrypted at client level.
All electronic devices used by ElephanSQL employees has enabled disk-based encryption.
3.1.1 ElephanSQL Onboarding Policy
All new employees at ElephanSQL are required to read and agree to both the security policy and the privicy policy.
3.1.2 ElephanSQL Exit Policy
During employee exit processes all login details for the resigned employee is removed and ssh keys are rotated.
All data on electronic devices used by the resigned employee are completely removed.
The resigned employee has signed an agreement to not mention anything about business operations or customers detail after resignation.
3.2 Data in Transit
ElephantSQL uses SSL/TLS to secure data in transit. SSL certificates are updated on a regular basis or in an event of a security advisory from external security centers. You have to enable TLS/SSL to and from your application to ensure secure transit between ElephantSQL and your application (read section 4.5.3 TLS).
3.3 Data in rest
Data can be encrypted for additional security of data at rest.
3.4 Disaster Recovery
To make sure that all your systems and data can be quickly restored you can use backup of your server or recovery with point-in-time-recovery.
Automated backups are performed every day. These are stored in a cloud file storage and are always accessible to you (stored in same cloud as your instance). The last month backup files can be found and downloaded in the ElephanSQL control panel.
3.4.2 Point in time recovery
Full backups of the whole server is performed every week and WAL b ackups are uploaded every minute to S3. These backups can be used for disaster recovery as well for point-in-time-recovery.
3.5 Security capabilities - Customer Best Practices
This section describe what you can do to protect your account in the best way possible.
3.5.1 Password protection and 2-step verification
You are responsible for maintaining the secrecy of your unique password and account information at all times. We recommend you to use a strong passphrase and rotate your password once in a while, password rotation can be done from the control panel of your instance.
Use ElephantSQL teams to invite your co-workers to your project rather than sharing user credentials.
3.5.2 TLS and encrypted data
ElephantSQL do support TLS (SSL) where you can encrypt your data in transit. Protect sensitive data transmitted to and from applications. Note that TLS will only secure messages during the transport. What we recommend for highly sensitive information (HIPAA, PCI etc) is that you encrypt your message bodies on your side and that you have a shared key between your publishers and your consumers.
4. Technical and Organizational Measures / Security Concept
The following TOMS are counducetd by 84codes AB
Measures to ensure confidentiality (Art. 32 para. 1 lit. b of the GDPR)
Physical access control
No unauthorized access to data processing systems are provided. Data is stored in highly secure data centers. All data centers that run our solution are secured and monitored 24/7. Physical access to datacenter facilities is strictly limited to select cloud staff.
Logical access control
No unauthorized system usage. SSH keys are required when identifying trusted computers along with usernames and passwords. 2-step authentication is enabled on every cloud platform that are providing it (platforms as AWS and Heroku). Individual authentication credentials are not shared. SSH keys are frequently rotated. All end-points (computers, laptops, mobile phones) are using encrypted storage, secure passwords and auto-locking mechanisms.
Data access control
No unauthorized reading, copying, changing or removing within the system.
Personal Data is processed in dedicated systems. Data are not shared with other services, applications or corporate entities. Within individual systems and databases, data is segregated with logical access control. Personal Data will not be used for different purposes other than what it has been collected for without explicit customer approval.
Measures to ensure integrity (Art. 32 para. 1 lit. b of the GDPR)
No unauthorized reading, copying, changing or removing during electronic transmission or transport. Data in transit is encrypted and encrypted storages are used.
Determination of whether and by whom personal data was entered, changed or removed in data processing systems by logging.
Measures to ensure availability and resilience (Art. 32 para. 1 lit. b of the GDPR)
Protection against accidental damage or destruction or loss via escalation ways and emergency plans.
No data processing under commission according to Art. 28 of the GDPR without corresponding instructions from the Data controller via explicit contract design, formalized order management, stringent selection of the service provider, obligation to convince in advance, follow-up inspections.
Systems and services are designed in a way that intermittent high stresses or high constant loads of processing can be ensured.
Measures for the pseudonymisation of personal data
Use of personnel, customer, and supplier IDs instead of names.
Measures for the encryption of personal data
Measures to quickly restore the availability of personal data to them after a physical or technical incident.
Personal data are stored in database backups in redundant data storages.
Procedures for periodical review, assessment and evaluation (Art. 32 para. 1 lit. d of the GDPR; Art. 25 para. 1 of the GDPR)
- Privacy management to prevent the flow of important information to unauthorized individuals.
- Incident response management plan.
- Data protection by default (Art. 25 para. 2 of the GDPR).
Please feel free to contact us with any questions about this Security Policy, suggestions or concerns about any of the points outlined above at firstname.lastname@example.org