Privacy Policy
Last updated on February 5, 2020.

Overview

Your privacy is very important to us. Unlike other free online services, we have no desire to collect or sell your personal information.

There are only four pieces of information that we care about:

Personally identifiable information is never collected, unless you explicitly provide it to us via the website contact form or the Feedback button in our apps. Feedback is sent via e-mail to our mail server, which is administered by Fastmail.

To collect usage statistics, we use an anonymous beacon system rather than third-party analytics. The first time you access our website, or launch an app, we generate a universally unique identifier. This identifier, along with your web browser version, operating system version, application version, and/or mobile device model is periodically transmitted to our server. The identifier is never sent to a third-party. The identifier is not sent to us via the contact form nor the Feedback button in our apps.

Our exercises feature a homework verification system where students enter text to “sign” a Progress Report. The signature text is embedded inside the resulting verification code. While this system is explicitly designed such that codes do not have to be stored on our servers, we may need to do so in order to diagnose and fix errors. To protect privacy, we strongly recommend that students use their initials or a unique identifier rather than their names.

To help fix crashes and errors, we use Sentry as our crash report aggregator. Information sent to them may include: location of the error, type of error, events preceding the error, web page on which the error occurred, web browser version, operating system version, mobile device model, and/or other non-personally identifiable information. Sentry removes non-aggregated event information after 90 days.

We use Linode for server hosting and distribute our applications via Apple's App Store.


What information do we collect and how do we use it?

We do not collect personally identifiable information about you, except when you provide it to us via the the website contact form or the Feedback button in our apps. We use this information to reply to you.

We do not use or collect your precise geographic location.

Personally identifiable information may be entered as the signature of an exercise's Progress Report. The signature is encoded in the resulting verification code. In the event of an error, a verification code (and thus the signature) may be included in our logs or sent to our crash report aggregator. Codes may be also be sent to our server to help diagnose issues with the verification system. We use this information to fix the error. We strongly recommend that students do not use their full names as the signature text.

Our website collects non-personally identifiable information about your web browser and computer. We use this information to determine which web browsers and operating systems to support.

Our apps collect non-personally identifiable information about your device and operation system version. We use this information to determine which devices and operating systems to support.

Our applications periodically poll our servers to check for updates to lesson and exercise content.

In the event that our website or an application encounters an error, non-personally identifiable information pertaining to the error may be sent to our servers. We use this information to fix the error.

We may keep data indefinitely. We try to follow good practices for log rotation, but we also make gratuitous backups, which may inadvertently store data.


Do we use cookies?

Our website generates a unique identifier upon your first visit and saves it as a cookie. This identifier is anonymous, contains no personally identifiable information, and is included in communications with our anonymous beacon system.

Our website uses HTML5 Web Storage to persist information such as: lesson view mode, exercise scores, and calculator settings.

Our applications generate a unique identifier when the application is installed. This identifier is anonymous, contains no personally identifiable information, and is included in communications with our servers.


Do we disclose any information to outside parties?

We do not sell, trade, or otherwise transfer to outside parties your personally identifiable information. This does not include trusted third parties who assist us in operating our website, conducting our business, or servicing you, so long as those parties agree to keep this information confidential. We may also release your information when we believe release is appropriate to comply with the law, enforce our site policies, or protect ours or others rights, property, or safety. However, non-personally identifiable visitor information may be provided to other parties for marketing, advertising, or other uses.


Third party links

Occasionally, at our discretion, we may include links to third party products or services on our website. These third party sites have separate and independent privacy policies. We therefore have no responsibility or liability for the content and activities of these linked sites. Nonetheless, we seek to protect the integrity of our site and welcome any feedback about these sites.


California Online Privacy Protection Act Compliance

Because we value your privacy we have taken the necessary precautions to be in compliance with the California Online Privacy Protection Act. We therefore will not distribute your personal information to outside parties without your consent.


California Do Not Track Notice

We do not track users over time and across third party websites to provide targeted advertising and therefore do not respond to Do Not Track (DNT) signals.


Children's Online Privacy Protection Act Compliance

We are in compliance with the requirements of COPPA (Children's Online Privacy Protection Act).

We do not collect personally identifiable information from children, except when a child provides it to us via the website contact form or the Feedback button in our apps. If we suspect that a message is from a child, we either delete it immediately or use COPPA's "one-time contact exception" (16 C.F.R. § 312.5(c)(3)) to reply once before deleting.

Our exercises feature a homework verification system where students enter text to “sign” a Progress Report. While this system is explicitly designed such that the entered text is not stored on our servers, we may need to do so in order to diagnose and fix errors. Thus, we strongly recommend that students use their initials or a unique identifier rather than their full names.


Your Consent

By using our site, you consent to our privacy policy.


Changes to our Privacy Policy

If we decide to change our privacy policy, we will post those changes on this page.