Who these terms are between
These terms govern your use of RunPy at runpy.co.uk. By creating an account or using the service, you agree to them. If you don't agree, please don't use RunPy.
Questions? Email support@runpy.co.uk.
Who can use RunPy
RunPy is designed for UK secondary school classrooms. You must be 13 or older to create your own account, or have a teacher create an account for you under a school's supervision. Teachers must be adults authorised by their school to use the service.
Safeguarding lead accounts. A separate account type exists for a school's designated safeguarding lead (DSL). It is created at /safeguarding using a work email issued by the school (personal email providers are not accepted). A safeguarding lead account is for an adult authorised by the school to receive safeguarding records; it cannot be used to access teacher or pupil dashboards. One designated lead account is permitted per school.
Acceptable use
You agree to use RunPy for learning, teaching, and creating Python or HTML projects. You agree not to:
- upload, store, or share material that is illegal, harmful, harassing, or infringes others' rights;
- attempt to disrupt the service, probe it for vulnerabilities without permission, or bypass safety controls;
- use the service to attack other systems or to mine cryptocurrency;
- share your account credentials, or impersonate another user.
Teachers additionally agree to use the comments and direct-edit features on pupils' files only for teaching, feedback and safeguarding purposes, and to keep their conduct on those features consistent with their school's safeguarding and acceptable-use policies.
Safeguarding leads additionally agree to use the safeguarding dashboard only to discharge their school's safeguarding duties, not to share or extract the records for unrelated purposes, and not to use the records to monitor staff productivity or to enforce non-safeguarding workplace policies.
We may suspend or close accounts that breach these rules. For security research, see our security.txt.
Your content
You keep ownership of any code, files, or text you create on RunPy. You grant us a limited licence to host, store, and display your content to operate the service (for example, so a teacher can see a student's saved work in their class).
You are responsible for the content you create. Don't upload anything you don't have the right to share.
Teacher comments and direct edits. When a teacher leaves a comment on a pupil's file or edits a pupil's code directly, the comment text and the changes made are also content under these terms. If the teacher has joined a school's safeguarding programme, those comments and edits are recorded as set out in the next section.
Safeguarding dashboard for schools
RunPy offers an optional, free safeguarding dashboard to schools. It is enabled when a school's designated safeguarding lead creates an account at /safeguarding and teachers at the school join with the code that the lead provides.
What is recorded. While a teacher is a member of a school in the dashboard, RunPy records each comment that teacher creates, edits or deletes on a pupil's file (including the body before any edit or deletion) and each direct code edit they make to a pupil's file (the lines added, the lines removed, and one full pre-edit file snapshot per editing session). Nothing is recorded for teachers who are not in a school.
Controller and processor. The school is the data controller for those safeguarding records. RunPy acts as the school's data processor, processing the records on the school's instructions for the safeguarding purpose described. By creating a safeguarding account, the school instructs RunPy to operate the dashboard on its behalf on the terms set out here and in the Privacy Policy.
Lead's responsibilities. The safeguarding lead is responsible for: (a) ensuring the school has a lawful basis under UK GDPR to operate the dashboard (typically Article 6(1)(c) and 6(1)(e) together with the school's safeguarding policy); (b) telling pupils, parents and staff that the dashboard is in use, consistent with the school's privacy notice; (c) keeping access to the lead account secure; and (d) only joining teachers who have been informed that their activity will be recorded.
Transparency. RunPy itself shows a persistent notice on a teacher's account page from the moment they join a school, and a sign-in notice to pupils whose teachers are in a school. These notices do not replace the school's own duty to inform.
Retention. When a teacher leaves a school, or is removed by the lead, the membership is archived. The associated comment and edit records remain reviewable by the lead for 30 days, after which an automated job permanently deletes the membership and every associated record. If the safeguarding lead deletes their account, the school and every record belonging to it are also deleted.
No use for performance management. The dashboard exists for pupil safeguarding. It must not be used as a routine performance-management tool for teachers or to monitor staff productivity. RunPy may suspend a school's safeguarding account if there is clear evidence the dashboard is being used outside its safeguarding purpose.
Paid plans
RunPy offers a paid teacher plan, billed monthly or yearly, with optional extra teacher seats, and a one-off lifetime lesson unlock for students. Current prices are shown on the pricing page and on your invoice. All prices are in GBP and exclusive of VAT, which is added to the invoice.
Ordering. You request a paid plan from the upgrade page in your account, and we email you an invoice. Your paid access is switched on once the invoice is paid.
Paying. Invoices are due within the period shown on the invoice. If an invoice isn't paid, the account stays on, or returns to, the Free plan.
Plan length and renewal. A monthly or yearly plan runs until the end date we set when we switch it on. Plans do not renew or charge you automatically: we send a new invoice before the end date, and if it isn't paid the account drops to the Free plan when the period ends. Student lifetime access is a single payment with no renewals.
Cancellation. To stop a plan, don't pay the next invoice or tell us via the contact page. You keep paid access until the end of the period you have paid for. We do not provide refunds for unused portions of a billing period.
Price changes. We may change prices in future. The new price only applies to invoices issued after the change; anything you have already paid for is not affected.
Payment processing
Invoices are issued and payments processed by Stripe Payments Europe, Limited ("Stripe") on our behalf. Stripe is a regulated payment service provider authorised by the Central Bank of Ireland and the UK Financial Conduct Authority for the provision of payment services.
You pay on Stripe's own invoice page, not on RunPy. Any card or bank details you enter there are collected and stored by Stripe, not by us. We never see or store your card number, expiry or CVC. Stripe is PCI DSS Level 1 compliant, the highest tier of card security certification.
When you pay, you also agree to Stripe's Services Agreement and Privacy Policy.
Invoices and receipts are emailed to you by Stripe. If you need a copy, reply to the invoice email or contact us.
Service availability
We aim to keep RunPy available during UK school hours but don't guarantee uninterrupted service. We may occasionally need to take it offline for maintenance, security, or updates.
Disclaimers
RunPy is provided "as is". To the extent permitted by law, we make no warranties about uptime, suitability for a particular curriculum, or that the service will be error-free. Nothing in these terms limits our liability for fraud or death or personal injury caused by negligence.
Changes
We may update these terms when our practices change and will update the "Last updated" date above. For material changes, we'll let teacher account holders know by email.
Governing law
These terms are governed by the laws of England and Wales. Any disputes are subject to the exclusive jurisdiction of the English courts.