Security Policy

Transparent Classroom Overview

Transparent Classroom is a service used by Montessori schools all over the US. Transparent Classroom applies security best practices so that our teachers, parents, and children can sleep soundly knowing that their data is in good hands.

There is a lot of technical words below. It basically says that there is a lot to security and that we are doing the work to make sure that your data is safe and secure.

Transparent Classroom is hosted on Heroku (http://heroku.com) which in turn is built on top of Amazon Web Service (AWS). This document refers to both Heroku and Amazon’s practices. Heroku’s security document is here (https://www.heroku.com/policy/security).

Physical Security

Data Centers

Transparent Classroom’s physical infrastructure is hosted and managed within Amazon’s secure data centers and utilize the Amazon Web Service (AWS) technology. 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)

Penetration Testing and Vulnerability Assessments

Transparent Classroom utilizes ISO 27001 and FISMA certified data centers managed by Amazon. Amazon has many years of experience in designing, constructing, and operating large-scale data centers. This experience has been applied to the AWS platform and infrastructure. 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.

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. Each system is assigned to a firewall security group based on the system’s function. Security groups restrict access to only the ports and protocols required for a system’s specific function to mitigate risk.

Host-based firewalls restrict customer applications from establishing localhost connections over the loopback network interface to further isolate customer applications. Host-based firewalls also provide the ability to further limit inbound and outbound connections as needed.

DDoS Mitigation

Our infrastructure provides DDoS mitigation techniques including TCP Syn cookies and connection rate limiting in addition to maintaining multiple backbone connections and internal bandwidth capacity that exceeds the Internet carrier supplied bandwidth. We work closely with our providers to quickly respond to events and enable advanced DDoS mitigation controls when needed.

Spoofing and Sniffing Protections

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 and every reported instance is investigated by our infrastructure provider. When port scans are detected, they are stopped and access is blocked.

Transport Layer Security (SSL/TLS)

We ensure data is encrypted in transit by transmitting all data via Transport Layer Security (TLS) cryptographic protocol over a HTTPS connection using Secure Sockets Layer (SSL), a cryptographic protocol that is designed to protect against eavesdropping, tampering, and message forgery. This standard is used in all regions and districts which allow it.

Data Security

Heroku Isolation

Each application on the Heroku platform (of which we are one) runs within its own isolated environment and cannot interact with other applications or areas of the system. This restrictive operating environment is designed to prevent security and stability issues. These self-contained environments isolate processes, memory, and the file system using LXC while host-based firewalls restrict applications from establishing local network connections.

Heroku Postgres (our database)

Most of our data is stored in a postgres database hosted by Heroku. The database requires a unique username and password that is only valid for the specific database and is unique to a our application. Our connections to postgres databases require SSL encryption to ensure a high level of security and privacy.

Payment Data (PCI Compliance)

We partner with Stripe (http://stripe.com) to safely store and use payment data. Payment data (credit card info, bank account info, etc) goes directly from the browser to Stripe’s servers. They provide the required levels of security for storing this sensitive information.

Email

We use a combination of 3 service providers to send email to our users. All 3 are industry leaders and you can read more about their security by following the below links.

We use SendGrid (http://sendgrid.com) for all email that Transparent Classroom sends not meant to be received as a text. We use MailChimp (http://mailchimp.com) only for newsletters that users opt in to receive. We use Google Mail (http://google.com) to send texts to our users via email.

Amazon S3

We store photos and attachments in a private bucket in Amazon’s S3 service. We use URI Obfuscation to balance the need to secure these files with the need for responsiveness. Read more about our URI obfuscation strategy here (https://github.com/thoughtbot/paperclip/pull/416).

System Security

System Configuration

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.

Heroku Application Isolation

Applications on the Heroku platform (of which we are one) run within their own isolated environment and cannot interact with other applications or areas of the 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.

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.

Backups

Postgres Database

Every change to your data is written to write-ahead logs, which are shipped to multi-datacenter, high-durability storage. 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.

Heroku Platform

From our instance images to our databases, each component is backed up to secure, access-controlled, and redundant storage. The heroku platform allows for recovering databases to within seconds of the last known state, restoring system instances from standard templates, and deploying customer applications 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.

Access to Customer Data

Only members of Transparent Classroom staff have access to customer data. We do not access or interact with customer data or applications as part of normal operations. We only do so when acting as an agent of the school (i.e. importing data), or when performing customer support.

Security Best Practices

Encrypting Data in Transit

We use HTTPS for applications and SSL database connections to protect all data transmitted to and from applications.

Encrypting Data at Rest

Our database is encrypted at rest with AES-256, block-level storage encryption. Keys are managed by Amazon, and individual volume keys are stable for the lifetime of the volume.

In addition, we encrypt passwords before storing them in our database. Our data encryption is multilayer industry standard. Additionally, we never put a password in any logs and can’t access the unencrypted version of them.