Dated:1st September 2017

Zapnito Overview

Zapnito is a Software as a Service platform used by organizations to operate branded expert network communities applications. Our platform allows organizations to focus on commercial and revenue generating opportunities of their communities and their experts.  Zapnito applies security best practices and manages platform security so customers can focus on their business.

Vulnerability Reporting

Zapnito conducts scheduled vulnerability and penetration testing that are conducted by an independent third party specialist security testing organisation.  Results of these audits are fed into the development pipeline, categorised and resolved according to severity.

For general security inquiries, please open a support ticket by emailing support@zapnito.com

Security Assessments and Compliance

Data Centers

Zapnito’s physical infrastructure is hosted and managed within Amazon’s secure data centers and utilize the Amazon Web Service (AWS) technology, through Heroku’s Platform as a Service. Amazon continually manages risk and undergoes recurring assessments to ensure compliance with industry standards. Amazon’s data center operations have been accredited under:

  • ISO 27001

  • SOC 1 and SOC 2/SSAE 16/ISAE 3402 (Previously SAS 70 Type II)

  • PCI Level 1

  • FISMA Moderate

  • Sarbanes-Oxley (SOX)

PCI

We use PCI compliant payment processor Braintree for encrypting and processing credit card payments. Zapnito’s infrastructure provider is PCI Level 1 compliant. For more information see: https://www.braintreepayments.com/en-gb/products-and-features/data-security

Penetration Testing and Vulnerability Assessments

Third party security testing of the Zapnito application is performed by independent and reputable security consulting firms. Findings from each assessment are reviewed with the assessors, risk ranked, and assigned to the responsible team.

Physical Security

Via Heroku, Zapnito utilizes ISO 27001 and FISMA certified data centers managed by Amazon. AWS data centers are housed in nondescript facilities, and critical facilities have extensive setback and military grade perimeter control berms as well as other natural boundary protection. Physical access is strictly controlled both at the perimeter and at building ingress points by professional security staff utilizing video surveillance, state of the art intrusion detection systems, and other electronic means. Authorized staff must pass two-factor authentication no fewer than three times to access data center floors. All visitors and contractors are required to present identification and are signed in and continually escorted by authorized staff.

Amazon only provides data center access and information to employees who have a legitimate business need for such privileges. When an employee no longer has a business need for these privileges, his or her access is immediately revoked, even if they continue to be an employee of Amazon or Amazon Web Services. All physical and electronic access to data centers by Amazon employees is logged and audited routinely.

For additional information see: https://aws.amazon.com/security

Environmental Safeguards

Fire Detection and Suppression

Automatic fire detection and suppression equipment has been installed to reduce risk. The fire detection system utilizes smoke detection sensors in all data center environments, mechanical and electrical infrastructure spaces, chiller rooms and generator equipment rooms. These areas are protected by either wet-pipe, double-interlocked pre-action, or gaseous sprinkler systems.

Power

The data center electrical power systems are designed to be fully redundant and maintainable without impact to operations, 24 hours a day, and seven days a week. Uninterruptible Power Supply (UPS) units provide back-up power in the event of an electrical failure for critical and essential loads in the facility. Data centers use generators to provide backup power for the entire facility.

Climate and Temperature Control

Climate control is required to maintain a constant operating temperature for servers and other hardware, which prevents overheating and reduces the possibility of service outages. Data centers are conditioned to maintain atmospheric conditions at optimal levels. Monitoring systems and data center personnel ensure temperature and humidity are at the appropriate levels.

Management

Data center staff monitor electrical, mechanical and life support systems and equipment so issues are immediately identified. Preventative maintenance is performed to maintain the continued operability of equipment.

For additional information see: https://aws.amazon.com/security

Network Security

Firewalls

Firewalls are utilized to restrict access to systems from external networks and between systems internally. By default all access is denied and only explicitly allowed ports and protocols are allowed based on business need.  

For additional information see: https://www.heroku.com/policy/security

DDoS Mitigation

Heroku’s infrastructure provides DDoS mitigation techniques, and we also make use of Cloudflare advanced security mechanisms. For additional information see:

https://www.heroku.com/policy/security and https://www.cloudflare.com/security-policy

Spoofing and Sniffing Protections

Heroku managed firewalls prevent IP, MAC, and ARP spoofing on the network and between virtual hosts to ensure spoofing is not possible. Packet sniffing is prevented by infrastructure including the hypervisor which will not deliver traffic to an interface which it is not addressed to.  Heroku utilizes application isolation, operating system restrictions, and encrypted connections to further ensure risk is mitigated at all levels.

Port Scanning

Port scanning is prohibited by Heroku and every reported instance is investigated by Heroku’s infrastructure provider.  When port scans are detected, they are stopped and access is blocked.

Data Security

The Zapnito Platform

The Zapnito platform runs within its own isolated environment on Heroku and cannot interact with other applications or areas of the system run by that vendor. This restrictive operating environment is designed to prevent security and stability issues.  The self-contained environment has isolated processes, memory, and the file system using LXC while host-based firewalls restrict applications from establishing local network connections.

For additional technical information see: https://devcenter.heroku.com/articles/dyno-isolation

Heroku Postgres

Zapnito customer data is stored in a dedicated access-controlled database. The database requires a unique username and password that is only valid for that specific database and is unique to the zapnito application. On Heroku, each Heroku customer is assigned separate databases and accounts per application to mitigate the risk of unauthorized access between applications.

Heroku customer connections to postgres databases require SSL encryption to ensure a high level of security and privacy.  Zapnito make use of encrypted connection to the database.  Certain stored data such as user passwords are encrypted using bcrypt and stretch 10 times.

System Security

System Configuration

Heroku system configuration and consistency is maintained through standard, up-to-date images, configuration management software, and by replacing systems with updated deployments. Systems are deployed using up-to-date images that are updated with configuration changes and security updates before deployment. Once deployed, existing systems are decommissioned and replaced with up-to-date systems.

Zapnito Platform Application Isolation

The Zapnito platform runs within it’s own isolated environment and cannot interact with other applications or areas of the Heroku system to prevent security and stability issues.  These self-contained environments isolate processes, memory, and the file system while host-based firewalls restrict applications from establishing local network connections.

For additional technical information see: https://devcenter.heroku.com/articles/dyno-isolation

System Authentication

Operating system access is limited to Heroku staff and requires username and key authentication. Operating systems do not allow password authentication to prevent password brute force attacks, theft, and sharing.

Vulnerability Management

Heroku

Heroku’s vulnerability management process is designed to remediate risks without customer interaction or impact.  Heroku is notified of vulnerabilities through internal and external assessments, system patch monitoring, and third party mailing lists and services.  Each vulnerability is reviewed to determine if it is applicable to Heroku’s environment, ranked based on risk, and assigned to the appropriate team for resolution.

For additional information see:

https://www.heroku.com/policy/security

Zapnito

Third party security testing of the Zapnito application is performed by independent and reputable security consulting firms. Findings from each assessment are reviewed with the assessors, risk ranked, and assigned to the responsible team.

Zapnito Application Security

We undergo penetration tests, vulnerability assessments, and source code reviews to assess the security of our application, architecture, and implementation on an annual basis. Zapnito works closely with external security assessors to review the security of the Zapnito platform and applications and apply best practices.

Backups

The Zapnito platform application deployed to the Heroku platform is automatically backed up as part of the Heroku deployment process on secure, access controlled, and redundant storage.  Heroku use these backups to deploy the Zapnito application across the Heroku infrastructure and to automatically bring our application back online in the event of an outage.

Zapnito Postgres Database

Continuous Protection keeps data safe on Heroku Postgres. Every change to our data is written to write-ahead logs, which are shipped to multi-datacenter, high-durability storage by Heroku. In the unlikely event of unrecoverable hardware failure, these logs can be automatically 'replayed' to recover the database to within seconds of its last known state.  Zapnito also run automated hourly database backups which are sync’d to secure Amazon AWS S3 storage in a different region.

For additional technical information see: https://devcenter.heroku.com/articles/pgbackups

Configuration and Meta-information

Zapnito platform configuration and meta-information is backed up by Heroku every minute to the same high-durability, redundant infrastructure used to store the database information.  These frequent backups allow capturing changes made to the running application configuration added after the initial deployment.

Heroku Platform

From the Heroku instance images to Heroku databases, each component is backed up to secure, access-controlled, and redundant storage.  Our platform allows for recovering databases to within seconds of the last known state, restoring system instances from standard templates, and deploying the Zapnito application and data.  In addition to standard backup practices, Heroku’s infrastructure is designed to scale and be fault tolerant by automatically replacing failed instances and reducing the likelihood of needing to restore from backup.

Disaster Recovery

Zapnito Application and Database

The Heroku platform will automatically restore the Zapnito application and Postgres database in the case of an outage. The Heroku platform is designed to dynamically deploy the Zapnito application within the Heroku cloud, monitor for failures, and recover failed platform components including the Zapnito application and database.

Heroku Platform

The Heroku platform is designed for stability, scaling, and inherently mitigates common issues that lead to outages while maintaining recovery capabilities.  The Heroku platform maintains redundancy to prevent single points of failure, is able to replace failed components, and utilizes multiple data centers designed for resiliency. In the case of an outage, the Heroku platform is deployed across multiple data centers using current system images and data is restored from backups.

Customer Data Retention and Destruction

Zapnito define what data is stored and retain the ability to purge data from our databases to comply with our data retention requirements. If Zapnito deprovision the application and the associated database, Heroku will maintain the database’s storage volume for one week after which time its automatically destroyed rendering the data unrecoverable.

Decommissioning hardware is managed by Heroku’s infrastructure provider using a process designed to prevent customer data exposure. AWS uses techniques outlined in DoD 5220.22-M (“National Industrial Security Program Operating Manual “) or NIST 800-88 (“Guidelines for Media Sanitization”) to destroy data.

For additional information see: https://aws.amazon.com/security

Privacy

Zapnito has a published privacy policy that clearly defines what data is collected and how it is used. Zapnito and Heroku are committed to customer privacy and transparency.

We takes steps to protect the privacy of our customers and protect data stored within the platform. Some of the protections inherent to Zapnito’s platform include authentication, access controls, data transport encryption, HTTPS For additional information see: https://zapnito.com/pages/privacy_notice

Access to Customer Data

Zapnito staff do not access or interact with non anonymized customer data as part of normal operations. There may be cases where Zapnito is requested to interact with customer data or applications at the request of the customer for support purposes or where required by law. Customer data is access controlled to senior technical employees only.

Employee Screening and Policies

As a condition of employment all Zapnito employees undergo pre-employment reference checks checks and agree to company policies including security and acceptable use policies.

Security Staff

Our technology team is lead by the Chief Technology Officer (CTO) and includes staff responsible for application and information security. The team works closely with the rest of the Zapnito organization and customers to address risk and continue Zapnito’s commitment to trust.

Customer Security Best Practices

Encrypted Data in Transit

HTTPS is enabled for all Zapnito applications and SSL database connections are enabled to protect sensitive data transmitted to and from the application.

Encrypt Sensitive Data at Rest

The Postgres database is encrypted at rest.  Data encryption for passwords is deployed using industry standard encryption and the best practices for the Ruby on Rails framework.

Secure Development Practices

Zapnito apply development best practices to mitigate known vulnerability types such as those on the OWASP Top 10 Web Application Security Risks.

Authentication

To prevent unauthorized account access we use a strong passphrases for ourHeroku user account as well as 2FA.  We also use SSH keys, store SSH keys securely to prevent disclosure, replace keys if lost or disclosed, and use Heroku’s RBAC model to invite contributors rather than sharing user accounts.

Logging

Logging is critical for troubleshooting and investigating issues. We provide you with three main options for interacting with their system, application, and API logs. Zapnito receives all 3 types of logs via syslog from the Heroku platform and send logs to the Papertrail addon as well as interact with logs in real-time through the Heroku CLI client.

For additional technical information see: https://www.heroku.com/how/observe