From 5179882ade1ba2618dbbd4e419f703b1f8b57fd6 Mon Sep 17 00:00:00 2001 From: "T. Brandon Ashley" Date: Wed, 20 Feb 2019 19:24:08 -0500 Subject: [PATCH] chore(*): updating terms, contact info, and README (#83) chore(*): update terms, contact info, and README --- CODE_OF_CONDUCT.md | 2 +- README.md | 43 +- assets/src/Pages/Editor/Main.js | 121 ++--- assets/src/Pages/Editor/Views/Setup.elm | 4 +- assets/src/Pages/Editor/Views/StatusBar.elm | 4 +- lib/ellie_web/templates/page/config.html.eex | 2 +- .../templates/page/terms/v4/index.html.eex | 73 +++ .../page/terms/v4/privacy_content.html.md | 78 ++++ .../page/terms/v4/terms_content.html.eex | 438 ++++++++++++++++++ 9 files changed, 685 insertions(+), 80 deletions(-) create mode 100644 lib/ellie_web/templates/page/terms/v4/index.html.eex create mode 100644 lib/ellie_web/templates/page/terms/v4/privacy_content.html.md create mode 100644 lib/ellie_web/templates/page/terms/v4/terms_content.html.eex diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 029ce90d..82a07cdf 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -55,7 +55,7 @@ further defined and clarified by project maintainers. ## Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the project team at ellie@lukewestby.com. All +reported by contacting the project team at ellie@tba.sh. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. diff --git a/README.md b/README.md index 726f79e7..472a5b6b 100644 --- a/README.md +++ b/README.md @@ -2,27 +2,38 @@ ## Development -Ellie is a web application with an Elixir backend and an Elm frontend. It runs inside Docker. -For development we use docker-compose to install all of the software and start up the -various programs in the correct order. To begin developing Ellie, all you need to do is: +Ellie is a web application with an Elixir backend and an Elm frontend. +For development we rely on the Mix and Phoenix development cylce tasks. +The development environment requires: -1. Install Docker +- [Elixir](https://elixir-lang.org/install.html) 1.7 +- [PostgreSQL](https://www.postgresql.org/) 10 +- [Node](https://nodejs.org) LTS -[Official installation instructions](https://docs.docker.com/install/) +Provided the local postgres server is running and `createuser -s postgres` has been run, to setup and then start the dev +server, run the following: -2. Start with docker-compose - -``` -$ docker-compose up +```sh +$ make bootstrap +$ make serve ``` -The first time you run this it will download the images for our base operating system, install -all of the software for building and running, and compile everything. It attaches the project -directory as a volume, so all of the build artifacts will be written to your file system. +## Production -If you are using Docker for Mac you may need to make adjustments to your file sharing permissions -under Preferences > File Sharing. +To build the AWS infrastructure that Ellie can be deployed to, run the folling: > **⚠️ WARNING** -> It's important to be careful about editor tools that modify these build artifacts! They are -> generated on a Linux operating system and might be incompatible with your machine. +> This does not operate in the Free Tier, running the following script will incur a cost from AWS. + +```sh +$ GITHUB_TOKEN= SSH_KEY_NAME= scripts/cfn create +``` + +After this is done, you will need to manually setup the public listener(s) on the load balancer and ensure the webhook +has been correctly configured. The pipeline will now kick off after a new release has been tagged. + +The following script can be used to tear down the AWS infrastructure: + +```sh +$ GITHUB_TOKEN= SSH_KEY_NAME= scripts/cfn destroy +``` diff --git a/assets/src/Pages/Editor/Main.js b/assets/src/Pages/Editor/Main.js index 511d31e1..31e419fc 100644 --- a/assets/src/Pages/Editor/Main.js +++ b/assets/src/Pages/Editor/Main.js @@ -1,74 +1,79 @@ export default { flags(current) { - const recovery = localStorage.getItem('Pages.Editor.recovery') - const user = localStorage.getItem('Pages.Editor.user') + const recovery = localStorage.getItem("Pages.Editor.recovery"); + const user = localStorage.getItem("Pages.Editor.user"); return Object.assign({}, current, { recovery: recovery ? JSON.parse(recovery) : null, user: user ? JSON.parse(user) : null, latestTerms: window.ellieConfig.latestTerms - }) + }); }, start(app) { - window.addEventListener('online', () => app.ports.inbound.send(['NetworkStatus', true])) - window.addEventListener('offline', () => app.ports.inbound.send(['NetworkStatus', false])) + window.addEventListener("online", () => + app.ports.inbound.send(["NetworkStatus", true]) + ); + window.addEventListener("offline", () => + app.ports.inbound.send(["NetworkStatus", false]) + ); - let acknowledgedReload = false - const preventNavigation = (e) => { - e.returnValue = 'You have unsaved work. Are you sure you want to go?' - acknowledgedReload = true - } + let acknowledgedReload = false; + const preventNavigation = e => { + e.returnValue = "You have unsaved work. Are you sure you want to go?"; + acknowledgedReload = true; + }; + + window.addEventListener("unload", () => { + if (acknowledgedReload) localStorage.removeItem("Pages.Editor.recovery"); + }); - window.addEventListener('unload', () => { - if (acknowledgedReload) localStorage.removeItem('Pages.Editor.recovery') - }) - app.ports.outbound.subscribe(([tag, contents]) => { switch (tag) { - case 'OpenInNewTab': - const [url] = contents - window.open(url, '_blank') - break - - case 'UpdateUser': - const [user] = contents - localStorage.setItem('Pages.Editor.user', JSON.stringify(user)) - break - - case 'UpdateRecoveryRevision': - const [data] = contents - localStorage.setItem('Pages.Editor.recovery', JSON.stringify(data)) - if (data !== null) window.addEventListener('beforeunload', preventNavigation) - else window.removeEventListener('beforeunload', preventNavigation) - break - - case 'DownloadZip': - const [project, elm, html] = contents - import('jszip').then(JSZip => { - const zip = new JSZip() - zip.file('Main.elm', elm) - zip.file('index.html', html) - zip.file('elm.json', project) - zip.generateAsync({ type: 'blob' }).then(blob => { - const url = URL.createObjectURL(blob) - const a = document.createElement('a') - a.href = url - a.download = 'ellie.zip' - a.click() - URL.revokeObjectURL(url) - }) - }) - break + case "OpenInNewTab": + const [url] = contents; + window.open(url, "_blank"); + break; + + case "UpdateUser": + const [user] = contents; + localStorage.setItem("Pages.Editor.user", JSON.stringify(user)); + break; + + case "UpdateRecoveryRevision": + const [data] = contents; + localStorage.setItem("Pages.Editor.recovery", JSON.stringify(data)); + if (data !== null) + window.addEventListener("beforeunload", preventNavigation); + else window.removeEventListener("beforeunload", preventNavigation); + break; + + case "DownloadZip": + const [project, elm, html] = contents; + import("jszip").then(({ default: JSZip }) => { + const zip = new JSZip(); + zip.file("Main.elm", elm); + zip.file("index.html", html); + zip.file("elm.json", project); + zip.generateAsync({ type: "blob" }).then(blob => { + const url = URL.createObjectURL(blob); + const a = document.createElement("a"); + a.href = url; + a.download = "ellie.zip"; + a.click(); + URL.revokeObjectURL(url); + }); + }); + break; + + case "MoveElmCursor": + const editor = document.getElementById("elm"); + if (!editor) break; + const [line, column] = contents; + editor.moveCursor(line, column); + break; - case 'MoveElmCursor': - const editor = document.getElementById('elm') - if (!editor) break - const [line, column] = contents - editor.moveCursor(line, column) - break - default: - break + break; } - }) + }); } -} +}; diff --git a/assets/src/Pages/Editor/Views/Setup.elm b/assets/src/Pages/Editor/Views/Setup.elm index f2871c78..2dfdedb4 100644 --- a/assets/src/Pages/Editor/Views/Setup.elm +++ b/assets/src/Pages/Editor/Views/Setup.elm @@ -124,8 +124,8 @@ terms state = , Html.text "Report abuse or request removal of personal information at " , Html.styled Html.a [ color Theme.accent ] - [ Attributes.href <| "mailto:ellie@lukewestby.com" ] - [ Html.text "ellie@lukewestby.com" ] + [ Attributes.href <| "mailto:ellie@tba.sh" ] + [ Html.text "ellie@tba.sh" ] , Html.text ". See our " , Html.styled Html.a [ color Theme.accent ] diff --git a/assets/src/Pages/Editor/Views/StatusBar.elm b/assets/src/Pages/Editor/Views/StatusBar.elm index eeb856b2..85d3d19d 100644 --- a/assets/src/Pages/Editor/Views/StatusBar.elm +++ b/assets/src/Pages/Editor/Views/StatusBar.elm @@ -42,7 +42,7 @@ view config = , textDecoration none , fontSize (px 16) ] - [ Attributes.href "/a/terms/3#privacy" + [ Attributes.href "/a/terms/4#privacy" , Attributes.target "_self" ] [ Html.text "Privacy" ] @@ -51,7 +51,7 @@ view config = , textDecoration none , fontSize (px 16) ] - [ Attributes.href "/a/terms/3#terms" + [ Attributes.href "/a/terms/4#terms" , Attributes.target "_self" ] [ Html.text "Terms" ] diff --git a/lib/ellie_web/templates/page/config.html.eex b/lib/ellie_web/templates/page/config.html.eex index c3748379..a2074d67 100644 --- a/lib/ellie_web/templates/page/config.html.eex +++ b/lib/ellie_web/templates/page/config.html.eex @@ -1,5 +1,5 @@ diff --git a/lib/ellie_web/templates/page/terms/v4/index.html.eex b/lib/ellie_web/templates/page/terms/v4/index.html.eex new file mode 100644 index 00000000..a719129d --- /dev/null +++ b/lib/ellie_web/templates/page/terms/v4/index.html.eex @@ -0,0 +1,73 @@ + + + + + + + + +
+
+ Ellie is now running on Amazon Web Services (AWS). A new cookie is introduced with the name + AWSALB, this encrypts information to direct traffic for maintaining sticky + sessions. Any previously stored cookies are no longer in use. The cookie is only used for the + purpose of maintaining expected behavior for subsequent requests and is refreshed with every + response. You can read more about this cookie in our Privacy Notice. +
+
+ <%= render("terms/v4/terms_content.html") %> +
+
+ <%= render("terms/v4/privacy_content.html") %> +
+
+ + + diff --git a/lib/ellie_web/templates/page/terms/v4/privacy_content.html.md b/lib/ellie_web/templates/page/terms/v4/privacy_content.html.md new file mode 100644 index 00000000..9794b31a --- /dev/null +++ b/lib/ellie_web/templates/page/terms/v4/privacy_content.html.md @@ -0,0 +1,78 @@ +# Privacy Policy + +Last updated: February 15, 2019 + +Ellie is fully capable of respecting your data privacy while providing its service. Ellie does not intentionally collect _any_ personal data from you. Even so, we still want you to feel confident in our ability to respect your privacy, so this document outlines who we are, what data we do collect, and how it is used. + +## Ellie's creators and operators + +Ellie was created by Luke Westby and is now the owned and maintained by Brandon Ashley. Brandon operates Ellie from the state of Florida in the United States. Brandon can be reached for inquiries regarding ellie at the email address ellie@tba.sh. Ellie is open source and supported by the Elm language community. The source code for Ellie is located at https://github.com/ellie-app/ellie. + +## Data Ellie collects + +Ellie does not collect any personal data. + +When interacting with Ellie you may submit the following information for storage on our servers: + +- Code written in the Elm programming language +- Code written in the HTML, JavaScript, and CSS programming languages +- A short description of the code +- A selection of publicly accessible packages from http://package.elm-lang.org + +Ellie is not a complicated service, and we do not need to collect more than this to provide that service. In order to protect your privacy you should not submit personal information in any of these fields. Every submission to Ellie is publicly accessible by design! + +In addition to the information you may submit to our servers, the following information is stored in your browser: + +- Visual settings, like font size and font family +- A local backup of the code you write, in order to recover from crashes + +This data is stored directly in your browser and never sent to our servers or any third party service. It contains no directly identifying information and can be cleared as easily as deleting your browsing history. + +Lastly, when an error occurs in our software we log that information with a third party service, [Sentry](https://sentry.io). These logs do not contain IP addresses, but may contain information about what browser you are using in addition to the code, description, and packages that you submitted. This information is permanently deleted after 6 days in Sentry's servers. + +## User-generated content and third party links + +Ellie's purpose is to share and serve user-submitted executable code. We cannot possibly review all code shared with Ellie, so be advised that code shared with Ellie may be malicious or contain abusive and inappropriate content. If you discover an Example shared with Ellie that does contain malicious content you can report it to ellie@tba.sh and we will act to correct the situation as quickly as possible. Our terms of service explicitly forbid the use of Ellie for malicious or illegal purposes, and we take these requests very seriously. + +**Never submit passwords or personal information to a form shared on Ellie!** + +In addition to user content, Ellie may also include links to third party websites in its user interface. These links are not subject to Ellie's privacy policy and are there for your convenience in discovering information related to Ellie, like source code and community discussions. These include, but are not limited to, https://github.com, https://slack.com, http://aws.amazon.com, and https://youtube.com. + +## Usage of Ellie by minors + +Ellie is not intended for use and may not be used by children under the age of 13. Children under the age of 18 must use Ellie with the permission and supervision of a parent or legal guardian. Ellie has no way of enforcing permission for children under the age of 18, and does not intend to collect any information from children just as it does not intend to collect personal information from anyone. If you discover that your child's information has been shared on Ellie please contact us at ellie@tba.sh or using the form at https://ellie.gdprform.io/ and we will ensure your child's information is removed. + +## Sharing data with third parties + +Just as we don't store any personal data for our own use, we will never collect and sell your personal data to another party! We do use the services of the following external data processors, although, once again, we do not collect or store personal data, including IP addresses + +- [Amazon Web Services](https://aws.amazon.com) (application hosting, DNS, caching, and security) +- [Google Cloud Platform](https://cloud.google.com) (data storage) +- [Sentry](https://sentry.io) (error reporting) + +Each of these third party data processors must only process your personal data in compliance with our privacy policy. These data processors also must sufficiently safeguard data we send to them. All of these external data processors are based in the United States. Google Cloud Platform, Sentry, and Amazon Web Services are certified compliant with EU-US Privacy Shield. Our database is located in the state of Oregon, USA. Our web server is in the state of N. Virginia, USA. + +All data shared with Ellie is public and can be made available to law enforcement. Ellie does not collect access logs, so all the data we might be compelled to share is spelled out in the section "Data Ellie collects". + +## Cookies and other tracking technologies + +Ellie does not _directly_ use cookies, track users, or perform any form of advertising or retargeting for third parties. Previous versions of Ellie _did_ use cookies, though. While we have configured the server to attempt to delete them it is not always possible to succeed in doing so. You can use your browser's settings to delete any cookies Ellie may have stored prior to issuing this Privacy Policy and they will not be reintroduced. + +Ellie makes use of one third party cookie to provide its service: + +- **Provider**: Amazon Web Services +- **Purpose**: To identify your session and route to the same target when accessing Ellie. Read more at [https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#sticky-sessions](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#sticky-sessions) +- **Name**: `AWSALB` +- **Lifetime**: Between 1 second and 7 days. + +## Changes to this policy + +We may change this privacy policy. Whenever a new user comes to Ellie they are prompted to accept our terms of service and privacy policy before using the service. If you have already accepted this policy, you will be prompted to accept it again when it changes. We will also always include a summary of what has changed in the new version of the terms of service and privacy policy going forward. + +## Requests regarding data on Ellie + +Once again, Ellie does not intentionally collect any personal data from you. Even so, all data on Ellie is public. You may request us to send you a summary of any data you feel is relevant to you as a user. If you find that you have shared personal data on Ellie, inadvertently or otherwise, you have a right to request that it be removed. You may also request the removal of data that appears to be abusive, innapropriate, or illegal. + +Ellie routinely downloads package information from the public Elm package registry at http://package.elm-lang.org. If you are pursuing the removal of personal information related to the contents of a package from the registry we will gladly assist you by purging your information from any caches of package information. + +You may contact Ellie with a data request at ellie@tba.sh or using the form at https://ellie.gdprform.io/. diff --git a/lib/ellie_web/templates/page/terms/v4/terms_content.html.eex b/lib/ellie_web/templates/page/terms/v4/terms_content.html.eex new file mode 100644 index 00000000..8ea25808 --- /dev/null +++ b/lib/ellie_web/templates/page/terms/v4/terms_content.html.eex @@ -0,0 +1,438 @@ +

Terms of Service

+

Last updated: May 25, 2018

+ +
+

1. Definitions

+

1.1.

+

The following defined terms apply in this agreement.

+

+ Example: means the User’s generated Content as “Content” is defined later in these Terms.

+

+ Documentation: any documentation made available to the User by Ellie online via the Ellie Site or such other + web address where the Services may be accessed by the User from time to time which sets out a description of the Services + and the User instructions for the Services.

+

+ Services: the services provided by Ellie to you as defined in clause 2.2 below.

+

+ Software: the online software applications provided by Ellie as part of the Services.

+

+ Terms: the terms and conditions set out in this document.

+

+ User: the user of the Service being a person who creates Content via the Software.

+ +

1.2.

+

Any other defined terms (introduced as such by capitalization in bold) which appear later in these Terms will take the + meaning ascribed to them.

+
+ +
+ +
+

2. Our contract with you

+ +

2.1.

+

These Terms are a contract between you, the User, and the authors and maintainers of the Services (‘ + Ellie’).

+ +

2.2.

+

Ellie operates ellie-app.com which includes other domains from time to time which direct to ellie-app.com via DNS aliases + (the ‘ + Ellie Site’) and the Ellie creation service contained therein. By using the Ellie Site and any services accessible + from the Ellie Site, you are agreeing to be bound by these Terms. If you do not agree to these Terms or any part thereof, + your only remedy is to not use the Ellie Site or any services or products offered on the Ellie Site or on any other platform, + including mobile applications, offered by Ellie (collectively, the ‘ + Service’ or ‘ + Services’).

+ +

2.3.

+

Breach of these Terms or any part thereof will entitle Ellie to terminate your right to use the Service. Any Content you + may have created will be deleted. Ellie reserves the right to refuse provision of the Service to anyone at their complete + discretion.

+ +

2.4.

+

You agree and accept that your use of the Service is entirely at your own risk.

+ +

2.5.

+

These Terms will apply for as long as you use the Ellie Site and/or the Services. Any part of these Terms that by necessity + or implication are to continue after your use of the Ellie Site or the Services ends (including the licence under clause + 4.1) shall continue in force.

+
+ +
+ +
+

3. Our Licence to You

+ +

3.1.

+

Ellie hereby grants you a non-exclusive, non-transferable, worldwide right to access and use the Ellie Site, solely with + supported browsers through the Internet for your own internal purposes, subject to these Terms.

+ +

3.2.

+

You may not permit the Ellie Site to be used by or for the benefit of any third parties.

+ +

3.3.

+

Nothing in these Terms shall be construed to grant you any right to transfer or assign rights to access or use the Ellie + Site.

+
+ +
+ +
+

4. Your Licence to Us

+ +

4.1.

+

You hereby grant Ellie and other Users of the Services a worldwide, non-exclusive, royalty-free licence (with the right + to sub-licence) to use, copy, reproduce, process, adapt, modify, publish, transmit, display and distribute Content you + submit, post or display on the Ellie Site in any and all media or distribution methods (now known or later developed). + Such Content shall be licensed upon the terms of the + MIT licence.

+ +

4.2.

+

You agree that the licence in clause 4.1 includes the right for Ellie and other users of the Services to make your Content + available to others for the publication, distribution, syndication, or broadcast of such Content on other media and services, + subject to our terms and conditions for such Content use. Such additional uses by Ellie or others may be made with no + compensation paid to you with respect to the Content that you submit, post, transmit or otherwise make available through + the Services.

+ +

4.3.

+

Ellie may modify or adapt your Content in order to transmit, display or distribute it over computer networks and in various + media and/or make changes to your Content as are necessary to conform and adapt that Content to any requirements or limitations + of any networks, devices, services or media.

+ +

4.4.

+

You warrant, represent and agree that you have the right to grant Ellie the licence in clause 4.1. You also represent, + warrant and agree that you have not and will not contribute any Content that:

+
    +
  1. infringes or otherwise interferes with any copyright or trade mark of another party;
  2. +
  3. reveals any confidential information or trade secret, unless the confidential information or trade secret belongs to + you or you have the owner's permission to disclose it; or
  4. +
  5. infringes any intellectual property right of another or the privacy or publicity rights of another.
  6. +
+ +

4.5.

+

You are responsible for your use of the Service, for any Content you provide, and for any consequences thereof, including + the use of your Content by other users and third party partners. You understand that your Content may be republished + and if you do not have the right to submit Content for such use, it may subject you to liability. Ellie will not be responsible + or liable for any use of your Content in accordance with these Terms.

+ +

4.6.

+

Ellie cannot monitor or control the Content posted via the Services. Any use of or reliance on the Content posted via the + Services or obtained by your through the Services is at your own risk. We do not endorse, support, represent or guarantee + the completeness, truthfulness, accuracy, or reliability of any Content or communications posted via the Services. You + recognise that by using the Services, you may be exposed to Content that may be offensive, harmful, inaccurate or otherwise + inappropriate and, whilst we may act to remove it where we are notified and deem it necessary or appropriate to do so + or where a third party with legal authority demands that we do so, we are not responsible for it. Under no circumstances + will Ellie be liable in any way for any Content, including but not limited to, any errors or omissions in any Content, + or any loss of damage of any kind incurred as a result of the use of the Content made available via the Services.

+
+ +
+ +
+

5. Ellie’s obligations

+ +

5.1.

+

Subject to the other Terms, Ellie undertakes to use its reasonable endeavours to provide that the Services will be available + for use and in accordance with the Documentation.

+ +

5.2.

+

The undertaking at clause 5.1 shall not apply to the extent of any non-conformance which is caused by use of the Services + contrary to the Ellie's instructions, or modification or alteration of the Services by any party other than Ellie or + Ellie's duly authorised contractors or agents. If the Services do not conform with the foregoing undertaking, Ellie will, + at its expense, use all reasonable commercial endeavours to correct any such non-conformance promptly, or provide the + User with an alternative means of accomplishing the desired performance. Such correction or substitution constitutes + the User's sole and exclusive remedy for any breach of the undertaking set out in clause 5.1. Notwithstanding the foregoing, + Ellie: +

+
    +
  1. does not warrant that the User's use of the Services will be uninterrupted or error-free; or that the Services, Documentation + and/or the information obtained by the User through the Services will meet the User's requirements; and
  2. +
  3. is not responsible for any delays, delivery failures, or any other loss or damage resulting from the transfer of data + over communications networks and facilities, including the internet, and the User acknowledges that the Services and + Documentation may be subject to limitations, delays and other problems inherent in the use of such communications facilities.
  4. +
+ +

5.3.

+

Ellie shall, in providing the Services, comply with our privacy policy relating to the privacy and security of your data + held by us. Such privacy policy is available from the Ellie Site or such other website address as may be notified to + you from time to time. The privacy policy may be amended from time to time by Ellie in its sole discretion.

+ +

5.4.

+

If Ellie processes any personal data on your behalf when performing our obligations under these Terms, we agree that you + shall be the data controller and Ellie shall be a data processor and in any such case:

+
    +
  1. you acknowledge and agree that the personal data may be transferred or stored outside the EEA or the country where you + are located in order to carry out the Services and Ellie’s other obligations under these Terms;
  2. +
  3. you warrant that you are entitled to transfer the relevant personal data to Ellie;
  4. +
  5. both you and Ellie shall take appropriate technical and organisational measures against unauthorised or unlawful processing + of the personal data or its accidental loss, destruction or damage.
  6. +
+
+ +
+ +
+

6. Your obligations and impermissible acts

+ +

6.1.

+

You warrant that you are legally entitled to enter into and be bound by these Terms.

+ +

6.2.

+

You shall:

+
    +
  1. provide Ellie with all necessary co-operation in relation to these Terms in order to allow us to provide the Services;
  2. +
  3. comply with all applicable laws and regulations with respect to your activities under these Terms;
  4. +
  5. ensure that you use the Services and the Documentation in accordance with the Terms;
  6. +
  7. obtain and shall maintain all necessary licences, consents, and permissions necessary for Ellie, its contractors and + agents to perform their obligations under these Terms, including without limitation the Services;
  8. +
  9. pay the Fees for the Services applicable to your Account
  10. +
+ +

6.3.

+

You acknowledge that you are solely responsible for procuring and maintaining your network connections and telecommunications + links, and all problems, conditions, delays, delivery failures and all other loss or damage arising from or relating + to your network connections or telecommunications links or caused by the internet.

+ +

6.4.

+

You shall not access, store, distribute or transmit any material (in the Content or otherwise) during the course of your + use of the Services that:

+
    +
  1. is unlawful, harmful, threatening, defamatory, obscene, infringing, harassing or racially or ethnically offensive;
  2. +
  3. facilitates illegal activity;
  4. +
  5. depicts sexually explicit images;
  6. +
  7. promotes unlawful violence;
  8. +
  9. is discriminatory based on race, gender, colour, religious belief, sexual orientation, disability; or
  10. +
  11. in a manner that is otherwise illegal or causes damage or injury to any person or property.
  12. +
+ +

6.5.

+

You further agree not to:

+
    +
  1. impersonate any person or entity of falsely state or otherwise present your affiliation with a person or entity;
  2. +
  3. phish, collect, upload, post, email or transmit or otherwise make able any login data and/or passwords for other web + sites, software or services;
  4. +
  5. forge headers or otherwise manipulate identifiers in order to disguise the origin of any Content transmitted through + the Ellie Site;
  6. +
  7. upload, post, email, transmit or otherwise make available any information, materials or other Content that infringes + another’s rights, including any intellectual property rights;
  8. +
  9. upload, post, email, transmit or otherwise make available any horised advertising, promotional materials, “junk mail”, + “spam”, “chain letters”, “pyramid schemes”, or any other form of solicitation;
  10. +
  11. upload, post, email, transmit or otherwise make available any material contains software viruses or any other computer + code, files or programs ned to interrupt, destroy or limit the functionality of any computer are or hardware or telecommunications + equipment; +
  12. +
  13. use any manual or automated software devices, or other processes to ”crawl”, “spider” or “screen scrape” any web pages + contained in the Ellie
  14. +
  15. interfere with or disrupt the Ellie Site, or any servers or networks cted to the Ellie Site, or disobey any requirements, + procedures, policies or regulations of networks connected to the Ellie Site;
  16. +
  17. obtain, collect, store or modify the personal information about other;
  18. +
  19. modify, adapt or hack the Ellie Site or falsely imply that some other is associated with the Ellie Site or Ellie; or
  20. +
  21. use the Ellie Site for any illegal or unauthorised purpose. You must not, in the use of the Ellie Site and the Services, + breach any laws in your jurisdiction (including but not limited to copyright laws).
  22. +
+ +

6.6.

+

For the avoidance of doubt any breach by you of any of these Terms (which constitute conditions of your use) shall entitle + Ellie, in its sole discretion, without liability (including in relation to any payment made in relation to your Account) + or prejudice to its other rights, to remove or refuse to distribute any Content via the Services and to disable your + access to your Account and to terminate Users and reclaim User names. We also reserve the right to access, read, preserve, + and disclose (to any competent authority) any information as we reasonably believe is necessary to (i) satisfy any applicable + law, regulation, legal process or governmental request, (ii) enforce these Terms of Use, including investigation of potential + breaches hereof, (iii) detect, prevent or otherwise address fraud, security or technical issues, (iv) respond to User + support requests, or (v) protect the rights of Ellie, its Users, legitimate business interests and the public.

+
+ +
+ +
+

7. intellectual property

+ +

7.1.

+

You acknowledge and agree that Ellie and/or its licensors own all intellectual property rights in the Ellie Site, the Software, + the Services and the Documentation. Except as expressly stated herein, these Terms do not grant you any rights to, or + in, patents, copyright, database right, trade secrets, trade names, trade marks (whether registered or unregistered), + or any other rights or licences in respect of the Ellie Site, the Software, the Services or the Documentation.

+ +

7.2.

+

All right, title and interest in Content generated by you shall be proprietary to you (but shall be subject to the licence + granted by clause 4.1).

+
+ +
+ +
+

8. Indemnity

+ +

8.1.

+

You acknowledge that you will be solely and fully responsible for all liabilities incurred through the use of your Account + and the Services. You shall defend, indemnify and hold harmless Ellie against claims, actions, proceedings, losses, damages, + expenses and costs (including without limitation court costs and reasonable legal fees) arising out of or in connection + with your use of the Account, the Services and/or the Documentation including, but not limited to, any liability arising + from or resulting from the Content uploaded to your Revision including infringement of third party intellectual property + or laws or civil or criminal claims

+
+ +
+ +
+

9. Limitation of liability

+ +

9.1.

+

You understand, agree and accept that your use of the Ellie Site and the Services is at your own discretion and risk and + that you will be solely responsible for loss of data that results from the submission or download of such content.

+ +

9.2.

+

This clause 9 sets out the entire financial liability of Ellie (including any liability for the acts or omissions of its + employees, agents and sub-contractors) to you:

+
    +
  1. arising under or in connection with these Terms;
  2. +
  3. in respect of any use made by you of the Ellie Site, the Services and Documentation or any part of them; and
  4. +
  5. in respect of any representation, statement or tortious act or omission (including negligence) arising under or in connection + with these Terms.
  6. +
+ +

9.3.

+

Except as expressly and specifically provided in this agreement:

+
    +
  1. you assume sole responsibility for results obtained from your use of the Ellie Site, the Services and the Documentation, + and for conclusions drawn from such use. Ellie shall have no liability for any damage caused by errors or omissions + in any information, instructions or scripts provided to Ellie by you in connection with the Services, or any actions + taken by Ellie at your direction;
  2. +
  3. all warranties, representations, conditions and all other terms of any kind whatsoever implied by statute or common law + are, to the fullest extent permitted by applicable law, excluded from this agreement; and
  4. +
  5. the Ellie Site, the Services and the Documentation are made available to you on an "as is" and “as available” basis.
  6. +
+ +

9.4.

+

Ellie does not warrant:

+
    +
  1. that the provision of operation of the Ellie Site or provision of the Services will be uninterrupted, secure, reliable, + timely or error-free;
  2. +
  3. that the Ellie Site or the Services will meet your specific requirements;
  4. +
  5. that the results that may be obtained from the use of the Ellie Site or the Services will be accurate or reliable;
  6. +
  7. that the quality of any products, services, information or other material purchased or obtained by you will meet your + expectations; +
  8. +
  9. that any errors in the Ellie Site will be corrected;
  10. +
  11. the accuracy, validity or completeness of any information, content or advice obtained through the Ellie Site or the Services.
  12. +
+ +

9.5.

+

Nothing in these Terms excludes the liability of Ellie:

+
    +
  1. for death or personal injury caused by Ellie’s negligence; or
  2. +
  3. for fraud or fraudulent misrepresentation.
  4. +
+ +

9.6.

+

Subject to clause 9.3 and clause 9.4:

+
    +
  1. Ellie shall not be liable whether in tort (including for negligence or breach of statutory duty), contract, misrepresentation, + restitution or otherwise for any loss of profits, loss of business, depletion of goodwill and/or similar losses or + loss or corruption of data or information, or pure economic loss, or for any special, indirect or consequential loss, + costs, damages, charges or expenses however arising under these Terms; and
  2. +
  3. Subject the other provisions of this clause Ellie's total aggregate liability in contract, tort (including negligence + or breach of statutory duty), misrepresentation, restitution or otherwise, arising in connection with the performance + or contemplated performance of this agreement shall in no circumstances exceed the total of any Fees paid for the User + Subscriptions during the 12 months immediately preceding the date on which the claim arose.
  4. +
+
+ +
+ +
+

10. Force majeure

+ +

10.1.

+

Ellie shall have no liability to you under these Terms if we are prevented from or delayed in performing our obligations + under these Terms, or from carrying on its business, by acts, events, omissions or accidents beyond our reasonable control, + including, without limitation, strikes, lock-outs or other industrial disputes (whether involving the workforce of the + Supplier or any other party), failure of a utility service or transport or telecommunications network, act of God, war, + riot, civil commotion, malicious damage, compliance with any law or governmental order, rule, regulation or direction, + accident, breakdown of plant or machinery, fire, flood, storm or default of suppliers or sub-contractors.

+
+ +
+ +
+

11. Variation

+

Ellie may update the Terms from time to time without notice and any changes will be Revisionding on you. You agree to review + these Terms regularly and we are entitled to treat your continued access to or use of the Services as confirmation that + you agree to the changes.

+
+ +
+ +
+

12. Waiver

+

No failure or delay by a party to exercise any right or remedy provided under these Terms or by law shall constitute a + waiver of that or any other right or remedy, nor shall it prevent or restrict the further exercise of that or any other + right or remedy. No single or partial exercise of such right or remedy shall prevent or restrict the further exercise + of that or any other right or remedy.

+
+ +
+ +
+

13. Rights and remedies

+

Except as expressly provided in these Terms, the rights and remedies provided under these Terms are in addition to, and + not exclusive of, any rights or remedies provided by law.

+
+ +
+ +
+

14. Severance

+ +

14.1.

+

If any provision (or part of a provision) of these Terms is found by any court or administrative body of competent jurisdiction + to be invalid, unenforceable or illegal, the other provisions shall remain in force.

+ +

14.2.

+

If any invalid, unenforceable or illegal provision would be valid, enforceable or legal if some part of it were deleted, + the provision shall apply with whatever modification is necessary to give effect to the commercial intention of the parties.

+
+ +
+ +
+

15. Entire agreement

+ +

15.1.

+

These Terms, and any documents referred to in them, constitute the whole agreement between the parties and supersede any + previous arrangement, understanding or agreement between them relating to the subject matter they cover.

+ +

15.2.

+

Both you and Ellie acknowledge and agree that in entering into these Terms that we do not rely on any undertaking, promise, + assurance, statement, representation, warranty or understanding (whether in writing or not) of any person (whether party + to this agreement or not) relating to the subject matter of this agreement, other than as expressly set out in these + Terms. +

+
+ +
+ +
+

16. Assignment

+

You shall not assign, transfer, charge, sub-contract or deal in any other manner with all or any of your rights or obligations + under these Terms. Ellie may at any time assign, transfer, charge, sub-contract or deal in any other manner with all + or any of its rights or obligations under these Terms.

+
+ +
+ +
+

17. Governing law

+

These Terms and any dispute or claim arising out of or in connection with it or its subject matter or formation (including + non-contractual disputes or claims) shall be governed by and construed in accordance with the law of the United States + of America and the State of California.

+
+ +
+ +
+

18. Jurisdiction

+

Each party irrevocably agrees that the courts of the United States of America and the State of California shall have exclusive + jurisdiction to settle any dispute or claim arising out of or in connection with these Terms or their subject matter + or formation (including non-contractual disputes or claims).

+