Terms of Service
Version terms-2.0.0-draft · in force from Not yet effective. This version is unpublished and no user has been asked to agree to it. An effective date is set on publication.
Draft — not in force. This document has not been reviewed by an attorney and is published here only so the pipeline that publishes it can be tested. Nothing on this page is an offer, a representation, or a term of any agreement.
- The source still carries the "NOT REVIEWED BY COUNSEL" banner.
- The version string is "terms-2.0.0-draft".
- 10 unresolved placeholder(s): [COMMERCIAL MAIL ADDRESS] [REGISTERED AGENT NAME AND UTAH STREET ADDRESS] [NOT BUILT] [FUTURE] [ARBITRATION PROVIDER] [COUNTY] ….
Course++ — a product of CoursePlusPlus LLC
| Document version | terms-2.0.0-draft — recorded with each user's agreement |
| Effective date | Not yet effective. This version is unpublished and no user has been asked to agree to it. An effective date is set on publication. |
| Company | CoursePlusPlus LLC, a Utah limited liability company, entity number 14736627-0160, formed 10 September 2026 |
| Mailing address | [COMMERCIAL MAIL ADDRESS] |
| Registered agent | [REGISTERED AGENT NAME AND UTAH STREET ADDRESS] |
| Contact | support@courseplusplus.com |
Drafting note — do not publish this note. Sections tagged
[NOT BUILT]describe something the product does not do yet. They are kept rather than deleted where the clause is worth having ready, and each one says plainly that it is not built. Convert each to present tense in the same change that ships the feature. The previous draft used[FUTURE], which read as a roadmap note;[NOT BUILT]cannot be misread.
00
0. Read this first
Course++ helps you build course material inside Canvas. These terms are the agreement between you and CoursePlusPlus LLC about using it. We have tried to write them so that a teacher can read them.
Eight things worth knowing before the details:
- You own what Course++ writes for you. (§9)
- AI output can be wrong. Everything Course++ produces is a draft for you to check before students see it. (§8, §10)
- Course++ never judges student work. It does not grade, score, or evaluate. (§11)
- Credits you buy never expire. Free, referral-bonus and promotional credits do. (§14)
- Course++ makes real changes to your real course. There is a revision history and an undo, and both have limits worth knowing before you need them. (§6, §12)
- Anything you attach to a message goes to an AI model. Course++ cannot inspect a file the way it refuses a Canvas address, so please do not attach student work. (§10.2)
- You are telling us you are allowed to use a tool like this in your teaching. That matters a great deal and it is not boilerplate. (§4)
- Course++ is not affiliated with Instructure, Inc., the company that makes Canvas. (§26)
01
1. Who we are, and what these terms cover
"We", "us", "our" means CoursePlusPlus LLC, a Utah limited liability company. Course++ is a product of CoursePlusPlus LLC — no separate "doing business as" name is registered for it, and this document does not use that phrase. Contracts, invoices and card statements carry the company's legal name, not the product name. "You" means the person who holds a Course++ account.
"Course++" means the browser extension, the service that supports it, our website, and anything else we provide under that name. "Canvas" means the Canvas LMS instance your institution operates.
These terms, together with the Privacy Policy, are the whole agreement between us about Course++. If your institution has signed a separate written agreement with us — for example the DPA rider — that agreement governs where the two conflict, for the accounts it covers.
The defined terms in section 2 of the Privacy Policy mean the same thing here: Course Content, Student Data, Class Statistics, Credits, Metering Record, Diagnostic Event, pseudonymised.
02
2. Agreeing to these terms
You agree to these terms by ticking the box when you create your account. It is one box, it is not ticked for you, and the links beside it open these terms and the Privacy Policy in full. We record which version of each document you agreed to, and when.
If we make a material change, we will tell you at least 30 days in advance and, where the change is material, ask you to agree again before it takes effect. We will not change something important quietly and rely on you re-reading this page. Every change is listed in CHANGELOG.md, with the version number it produced.
Agreeing to a paid subscription is a second, separate moment, with its own separate box, and it is not bundled into this one. See §15.1.
03
3. Who may use Course++
You may hold a Course++ account if all of the following are true.
| Requirement | |
|---|---|
| Age | You are 18 or older. |
| Role | You are an educator or a member of instructional staff — an instructor, professor, teacher, teaching assistant, instructional designer, or someone else whose job includes building course material. |
| Institution | You work at an accredited educational institution. |
| Location | You are in the United States, and your billing address is in the United States. |
| Not a student user | Course++ is not for students. Using it as a student, to do coursework or to interact with your own enrolments as a learner, is not permitted. |
| One account | One account per person. |
Anyone eligible may sign up and pay. We do not block accounts on the basis of your role. The free credit grant is separate: it requires that Course++ can confirm, by asking Canvas, that you have content-editing access in a course. If it cannot confirm that, you can still buy credits and use everything. See §14.2.
3.1 Not offered as a district-contracted or institution-contracted service
Course++ is sold to individual instructors for their own use. It is not offered as a service contracted by a school, district, college or university, and a Course++ account is not a contract with your institution.
If your institution wants a contracted relationship — a purchase order, an invoice, a signed data protection agreement, department-wide access, or a district-level deployment — that is a different conversation and we would like to have it. Contact sales@courseplusplus.com. Please do not buy individual subscriptions as a way of deploying Course++ across an institution.
We say this plainly because a contracted institutional service, and particularly a K-12 district service, carries obligations that a personal subscription does not. We would rather meet them deliberately, in writing, than by accident.
Being a K-12 teacher does not disqualify you. If you teach in a school district and you want Course++ for your own courses, you are welcome, on the same footing as everyone else. What we do not do is sell Course++ to districts. Those are different things and only the second one carries the obligations above.
04
4. Institutional authorisation — please read this one
You represent that you are authorised by your institution to use a tool like Course++ in your teaching, and that doing so does not breach any policy that applies to you — your institution's technology policy, its data policy, its academic policy, or a collective agreement.
If you turn on the "full data access" setting described in Privacy Policy §5.3 — a real setting in Course++ today, off by default — you additionally represent that you are authorised by your institution to disclose student information to a third-party service provider for that purpose. [NOT BUILT] Today that setting is one account-wide switch, and we do not record that you turned it on; when it becomes a per-course setting with a record, this representation will be made and recorded per course instead.
Why this matters, said honestly rather than in legal language. Under the US federal student privacy law (FERPA, 34 CFR 99.31(a)(1)), a school may share student records with an outside provider only under specific conditions, and one of them is that the school itself has designated that provider. An individual instructor cannot make that designation. It takes institutional action — normally a contract, and inclusion in the school's own annual FERPA notice.
So: your agreement here is not a substitute for your institution's approval, and we are not pretending it is. If your institution has not approved a tool like this for use with student data, the honest answer is to leave student-data features off — where Course++ ships by default — or to ask your institution first. If they want to talk to us, we will sign their agreement: dpa-rider.md, privacy@courseplusplus.com.
Your institution may ask us to switch student-data features off for its entire Canvas domain by emailing privacy@courseplusplus.com, and we will act on it on receipt. An institutional request overrides any individual instructor's choice. Privacy Policy §5.5 sets out precisely what we can do about it today and what we cannot — please read that rather than assuming we can reach into a browser, because we cannot.
05
5. Your account
- Keep your sign-in details to yourself. Tell us at
support@courseplusplus.comif you think someone else has access. - Enter your Course++ credentials only on a page whose address bar shows
chrome-extension://orcourseplusplus.com. Never in a box drawn on top of a Canvas page. That is how you can tell a real Course++ sign-in from an imitation. - You are responsible for activity on your account.
- On a podium or lab machine, tick "This is a shared computer — don't stay signed in" on the sign-in screen. It keeps your session in memory only, so closing Chrome ends it. One honest detail: it is read at the moment you sign in, so tick it before you click a sign-in button, not after.
06
6. How Course++ works with Canvas
Course++ acts through the Canvas session you are already signed in with, in your own browser. It holds no Canvas API token and has no permissions of its own.
So Course++ can do exactly what you can do in Canvas, and nothing more. Canvas enforces its own permissions on every request. If Canvas would refuse you, it refuses Course++.
Three things follow, and the last one is the one people do not expect:
- Course++ makes real changes to your real course. Not a preview, not a sandbox. When it writes a page, that page exists. There is a revision history and an undo (§12), but treat Course++ as you would treat your own hands in the Canvas editor.
- Course++ is not a Canvas product and we do not control Canvas. Canvas can change, be unavailable, rate-limit us, or behave differently at your institution than at another. Institutions run different Canvas features, and Course++ may not be able to do everything everywhere. When Canvas slows us down or stops accepting requests, work already finished is saved and Course++ tells you where it stopped.
- Course++ creates a small number of files and folders in your course, for its revision history and for tidying up files it has replaced. They are described in Privacy Policy §8.2. They live in your Canvas, not on our servers. Deleting the hidden history folder loses your Course++ revision history for that course and nothing else.
07
7. Student data features
By default, Course++ refuses every Canvas address that returns student work or student records. The refusal happens in your browser, before a request is built, and it applies to reads as well as writes. The list is published, and so is a bundle you can run to prove it is enforced: FERPA posture page.
A setting that lifts that refusal already exists, off by default: "Give the assistant full access to student data." Turned on, today, it is one account-wide switch — not per course, not time-limited, not expiring, and not gated on any screen beyond the checkbox itself. Turning it on lets Course++ read rosters, submissions, grades, discussion replies, quiz submissions, gradebook history, per-student analytics and your Canvas inbox, and message a named student once Course++ has confirmed with Canvas that they are active in the course you are working in.
Two limits on that setting we want you to read before you use it:
- It does not replace a student's name with a label and it does not remove identity from what it reads. See Privacy Policy §5.4. If you turn it on, assume names and similar identifying fields are sent exactly as Canvas returns them.
- It also switches off the ordinary redaction that normally runs on everything else — including plain course pages. It is not a narrow permission; it is the whole guard.
Whether the switch is on or off, Course++ can send a message to your whole class, or to a role within it, through Canvas's own inbox. That needs no roster and cannot reach anyone outside the course you have open. Reading your inbox is refused unless the switch is on.
[NOT BUILT] We intend to narrow all of this: switched on per course rather than account-wide; gated on the representation in §4, recorded with the date, time, course, institution and policy version; preceded by a screen showing you the actual text that would leave your browser; time-limited to 120 days, then requiring re-affirmation; and overridable by your institution. [NOT BUILT] Once student work is pseudonymised before it leaves your browser, this section will say so — it is not pseudonymised today. The limits on what pseudonymisation can and cannot do, once it ships, are described in full at ferpa-posture.md.
08
8. No warranty on AI output
Course++ writes drafts using an AI model, and AI output can be wrong. It can state something untrue with complete confidence, misread an instruction, produce a quiz answer key that is incorrect, get a date wrong, or write something that does not suit your students.
We do not warrant that anything Course++ produces is accurate, complete, current, appropriate for your students, pedagogically sound, original, non-infringing, or fit for any particular purpose. You are the instructor. The output is a draft for you to read and correct.
Course++ checks that it wrote what it said it wrote. It does not and cannot check that what it wrote is correct. Those are different things, and only the second one matters to your students.
Where Course++ looks something up on the web or generates an image, the same applies with an extra edge: a cited source can be wrong or can have changed, and a generated image can be confidently meaningless. Course++ is instructed to cite and link rather than copy, and to avoid recognisable people, characters and logos, and instructions to a model are not a guarantee. Look at what it made before you publish it.
Course++ is provided "as is" and "as available." To the fullest extent the law allows, we disclaim all warranties, express or implied, including merchantability, fitness for a particular purpose, and non-infringement.
09
9. You own what Course++ writes
The content Course++ generates in your course is yours.
- You own it, to the extent it is capable of being owned, subject to your institution's own policies about course materials, which are between you and them.
- We claim no ownership of it and no licence to it beyond what is technically necessary to transmit your request, generate a response, and return it to you. We do not keep a copy, we do not reuse it, and we do not use it to train anything.
- No AI provider in the path claims rights to it either, and we send a no-training and no-data-collection instruction with every request. See Privacy Policy §7, which sets out honestly which of those commitments is contractual at which step and which is not yet.
- Course Content you already had stays yours. Course++ reading a page does not give us any rights to it.
- We own Course++ itself — the extension, the service, the name, the design. Nothing here gives you rights to that beyond using it as these terms allow.
Drafting note for counsel. AI-generated text may not be copyrightable in the United States, which is why this clause says "to the extent it is capable of being owned." Please confirm the phrasing does not accidentally warrant that the output is protectable, and does not warrant non-infringement of the output — §8 now disclaims originality and non-infringement explicitly, and the two clauses should be read together.
10
10. Your responsibilities for what students see
You are responsible for everything Course++ puts in your course. Once it is published, it is your course material, and to your students it came from you.
Specifically, you are responsible for:
- Checking it before students see it — facts, dates, due dates, answer keys, tone, level. Due dates are worth a second look; a wrong one is visible to everyone immediately.
- Accessibility. Course++ aims to produce accessible material — real headings, table headers, and it requires alt text on every image it generates — but the obligation is your institution's and yours, not ours. Public institutions in particular have hard requirements and deadlines. Review what you publish.
- Copyright and attribution. Where Course++ draws on outside material, it is instructed to cite and link rather than reproduce, and not to copy from a paywalled source. You are responsible for what ends up in your course. If a passage looks copied, treat it as copied.
- Your institution's AI-disclosure policy. Some institutions require course material to be marked as AI-assisted. Some states are legislating on it. Check yours; the requirement is on you.
[NOT BUILT]Your institution's grade-change policy. If Course++ is ever able to change grades, then before it does, you are responsible for following whatever process your institution requires for changing a posted grade — a form, an approval, a notification. Many institutions have one. We do not enforce it and we cannot; we are telling you it is yours.- Not asking Course++ to produce anything unlawful, infringing, harassing, or in breach of your institution's policies.
10.1 Messages sent to your class
Course++ can send a message to your class through Canvas's own inbox, from your own Canvas account. Two things follow: it looks to students like a message from you, because it is one; and a message cannot be unsent. Course++ shows you the recipients and the message before it goes, and declining sends nothing. Read it.
10.2 Files you attach
Course++ lets you attach a file to a message so it can build from your own material.
Whatever you attach goes to the AI model, the same as anything you type, and this is the one place where Course++'s student-data protection does not help you. That protection works by refusing Canvas addresses. It cannot inspect the contents of a file. A gradebook export, a stack of graded essays or a screenshot of the Canvas grader would reach the model like any other attachment.
So: please do not attach student work, grades, or rosters. Course++ notices some obviously risky filenames and asks "are you sure?" — that is a speed bump, not a protection, and it will miss a file called Book1.csv. A file you choose to attach is your own disclosure, and you are responsible for it. You also confirm you have the right to use what you attach.
What happens to it is described in Privacy Policy §5.6: sent once, read once into text, never stored, never sent again.
11
11. Course++ makes no evaluative judgment of student work
Course++ does not grade, score, assess, or form an opinion about any student's work. It is a course-authoring tool. There is no feature in it that reads a submission and decides what it is worth, and there is no path by which it could.
[NOT BUILT] If Course++ is ever able to change a grade, it will perform mechanical correction only — for example, "question 4 had two correct answers, so add two points to everyone who chose B." That is arithmetic applied to a decision you made. It is not an evaluation of anyone's work, and where Canvas can perform the regrade itself using its own grading logic, Course++ will prefer that.
Course++ will never read a student's work and decide what it deserves. That boundary is deliberate, and we will state it the same way everywhere, including where it distinguishes Course++ from any other product we make.
12
12. Revision history and undo
Course++ records what each build created and changed, so it can be put back. Because this is the feature people reach for when something has gone wrong, its limits are worth knowing before that moment:
Where the history lives. In your own Canvas course, in a hidden folder in the course's Files — not on our servers, and not only in one browser. That means it survives a new computer, and it also means anyone who can manage that course's files can delete it. It keeps the most recent 300 builds for that course.
What it holds. For each build: the words you typed, when, which model, what it cost, and what was created or changed, including the previous values of anything it edited. For a quiz edit, that can include the question and its answer key, which is why the folder is created hidden and locked.
What undo does.
- Something Course++ created is deleted. Canvas keeps its own recovery list for most kinds of content, so that deletion is usually reversible from inside Canvas — and Course++ shows you that list too.
- Something Course++ changed is put back to the values it had before.
- Something Course++ deleted is restored through Canvas's own undelete where Canvas supports it, or rebuilt from the values captured before the deletion where it does not.
What undo refuses to do, on purpose.
- It never touches anything Course++ did not create or change in the build you are undoing.
- It refuses anything a student has interacted with — a submission on an assignment, a reply on a discussion — and tells you which item and why. Your students' work is not ours to destroy. It works this out from counts and flags on the item itself, never by reading anybody's submission.
- A quiz is always flagged, whether or not anyone has attempted it, and always needs your explicit go-ahead. Course++ cannot cheaply tell whether a quiz has attempts without reading student records, which it refuses to do, so it errs the safe way and asks.
- It refuses an item that changed after the build, rather than overwriting whatever a colleague did since. You can force it, deliberately, after being told.
- New Quizzes are not covered. They work differently enough that Course++ does not capture them, and it says so in the interface rather than letting you assume they are protected.
- Files are not covered. Course++ cannot delete a file in Canvas at all; superseded files are moved to a visible
course++ (delete me)folder for you to empty. - The undo is itself recorded as a build, so you can undo the undo.
A message sent to students cannot be undone. (§10.1)
None of this is a backup of your course. It is a record of what Course++ did. If you want a real backup, use Canvas's own course export.
13
13. Plans, prices and payment
| Subscription | A monthly plan and an annual plan, each including a monthly credit allowance. |
| Credit packs | Two sizes, bought outright. You can buy more than one at a time. |
| Where the prices are | On our pricing page, and shown again in Course++ before you pay. |
| Currency | US dollars. |
| Payment | By card, through Stripe. We never see your card number. |
| Tax | Sales tax is added where the law requires it, calculated and shown before you pay, never revealed afterwards. |
Prices are deliberately not repeated in this document. They live on the pricing page and in our payment provider, and a price written in three places drifts. What you are charged is what Course++ shows you on the screen where you agree to it, and that screen is what we archive.
Drafting note for counsel. Please confirm whether California's Automatic Renewal Law, or any other applicable statute, requires the price to appear in the Terms themselves rather than only in the pre-purchase disclosure. If it does, this table gains the figures and accepts the drift risk. See
README.md, question 21.
A credit is a unit of account for what a request cost. Different requests cost different amounts, because a longer or more complex job uses more of the writing engine. Course++ shows you your balance and what each request cost, and it charges the actual cost reported by the provider, not an estimate. Fractions of a credit are charged as fractions; nothing is rounded up.
Some things cost no credits at all — checking your course for broken links, reading your revision history, undoing a build. Where a request is metered, Course++ tells you.
14
14. Credits and expiry
14.1 The schedule
We disclose every expiry at the moment we grant the credits, not only here.
| Kind of credit | Did you pay for it? | Expires |
|---|---|---|
| Credits you buy in a pack | Yes | Never. |
| Your monthly subscription allowance | It is what your subscription provides that month | At the end of each monthly period. Unused allowance does not roll over. On an annual plan the allowance still arrives monthly and still expires monthly — an annual subscription is not a year's credits handed over on day one. |
| Free starter credits | No | 30 days after they are granted. |
| A referral bonus, if a colleague invited you | No | 30 days after you claim it. You have 24 hours from creating your account to claim an invitation; after that the link no longer works. |
| A referral reward, for inviting a colleague | No | Never. It behaves like credits you bought: it sits behind your monthly allowance and is spent only after it. See §14.5. |
| Promotional or campaign credits | No | On the date stated on the offer, which is never more than a year out. |
| Credits we give you to make up for a problem | No | On the date we tell you, or never — we will say which. Where we do not say, they expire in 90 days, and we will not rely on that silently: if a make-good of ours expires unused, ask and we will reissue it. |
Credits are spent expiring-soonest-first. Whatever runs out first is used first, and credits that never expire are used last. That is deliberate and it is enforced by the accounting itself rather than by us remembering: it means the credits you paid for are the last ones to be touched.
Credits for one product are spent only on that product. If we ever sell a second product, its credits are its own; they do not fund Course++ and Course++'s do not fund them.
Credits are not money. They cannot be exchanged for cash except as §16 describes, they have no value outside Course++, and they cannot be transferred to another person or account.
[NOT BUILT] If we ever allow credits to be transferred, transferred credits are non-refundable to both the sender and the recipient.
⚠️ Drafting note — the annual allowance row above describes a promise the software does not yet keep
The annual plan is sold on the promise that the allowance arrives monthly rather than as a year's worth on day one, which is the right design: handing a customer a year of credits on day one recreates the subscribe-burn-refund problem at twelve times the scale. The monthly grant for an annual subscriber comes from a scheduled job, because an annual invoice fires once a year and the allowance arrives twelve times. That job is written and is not wired to run. As things stand, an annual subscriber would receive one month's allowance for a year's money.
This is a publication blocker and, more urgently, a "do not sell the annual plan" blocker — not a drafting problem. The row above is what the customer is buying and what this document should promise; the software has to catch up to it before the plan is offered. Recorded in
CHANGELOG.md. The same job is what expires an unused monthly allowance, so until it runs, expiry is enforced by the accounting refusing to spend expired credit rather than by a visible entry in your ledger — your balance is right, and the ledger will not show you an "expired" line explaining why.
14.2 The free grant
Free starter credits are one per person, ever — not one per account. We keep a one-way hash of your email address so that stays true even if you delete your account and sign up again, and we normalise your address first, so you+1@school.edu is the same person as you@school.edu. See Privacy Policy §11.3.
They unlock when Course++ can confirm with Canvas that you have content-editing access in a course. If you sign up with no Canvas course open, the grant waits until you open one — it is not refused, and the product says so rather than leaving you to guess.
14.3 Balance cap and dormancy
- Your balance is capped at 5,000 credits. A cap is not an expiry: nothing you own is taken away, you are simply prevented from stockpiling more. It exists so that the amount of prepaid value we hold for any one person stays something we can always refund.
- If a purchase would take you over the cap, we will not leave you short. Where we can, we refuse the purchase before taking payment. If payment has already been taken and the credits cannot be added, we will either raise your cap and add them or refund that purchase in full, at your choice — write to
support@courseplusplus.comand we will fix it the same way we would fix any billing error. - If your account is dormant for two years or more, we will email you and offer to refund your unused purchased balance. We will not confiscate it.
Drafting note — a real gap, not a drafting one. The cap is currently enforced at the moment credits are granted, which is after payment, rather than at checkout. The second bullet above is written as a commitment precisely so that the customer is protected while that is true, but the check belongs at checkout and this note stays until it is there. Recorded as a publication blocker in
CHANGELOG.md.
14.4 Usage limits
To keep a single request from running away with your balance, and to keep a stolen sign-in from draining an account:
- a per-request ceiling that pauses and asks you rather than failing — a normal build is far below it, and it will ask at most a few times before stopping;
- a hard per-request ceiling, set below one month's allowance, so no single request can consume a whole month;
- a daily credit limit, which ordinary use does not approach;
- limits on how many requests may run at once, and on the size and shape of a single request.
We may adjust these limits to protect the service or your account. They are documented in the product rather than only here — deliberately, so that the numbers can be corrected without a change to a document you have agreed to. Deliberately working around them is prohibited (§18).
14.5 Referrals
If you invite a colleague and they sign up and then make their first payment, we grant you a referral reward in credits. The rules, in full:
- Single level only. There are no chains and no downstream earnings. Inviting someone who invites someone earns you nothing from the second invitation, by design.
- You are paid only after the person you invited actually pays, and then only after a 60-day window during which a card payment can still be reversed. That window is why the reward is not instant, and it is also why it does not expire.
- A maximum of 10 rewards to any one account in any 365-day period.
- If the payment that earned a reward is refunded or disputed, the reward is reversed.
- You cannot refer yourself. Where the two accounts share an email domain we note it and may review it; we do not refuse it automatically, because a department adopting Course++ together is the ordinary case, not the suspicious one.
- We never send email on your behalf. You get a link to share yourself.
- The reward is something of value, so if you recommend Course++ publicly, say that you receive credits for it. That is what the US Federal Trade Commission's endorsement guidance requires, and it is also just fair to the person reading you.
The person you invite gets a bonus too, on the terms in §14.1 — including a 24-hour window from creating their account in which to claim it.
15
15. Subscriptions, automatic renewal and cancelling
15.1 Automatic renewal
Your subscription renews automatically until you cancel. We tell you so before you buy, in a separate box above the button, and you have to tick a separate, unticked checkbox before the button will work at all. That checkbox is never bundled with your agreement to these terms, and it is never pre-ticked.
This is what that screen actually shows you, in this order:
- The amount and the frequency — for example "$19.00 every month, charged automatically until you cancel."
- How to cancel — "Cancel any time from this panel. One click, no phone call and no form to fill in. Credits you have already bought stay yours after you cancel."
- A separate, unticked checkbox — "I understand this renews automatically at \[amount\] per \[month or year\] until I cancel."
- A button that names the charge, not a vague one: "Start \[amount\] per \[month or year\] subscription." It does nothing until the checkbox is ticked.
Credit packs have no renewal box and no checkbox, because a pack does not renew. You buy it once.
Also:
- How to cancel, again: in Course++, one click, at any time. It takes you to Stripe's customer portal. No phone call, no email to us, no reason required, and nothing to click past. If you have two subscriptions, each cancels on its own without touching the other.
- You get a receipt you can keep, emailed by Stripe, naming what you bought and what it cost.
- For an annual subscription, we will email you a renewal reminder between 15 and 45 days before it renews.
Drafting note — two real gaps behind this section, both build tasks. (a) The separate auto-renewal checkbox works exactly as described, and the consent is not yet recorded — California's Automatic Renewal Law expects that record kept for at least three years, our database has the columns for it, and nothing writes them. (b) There is no customer email system yet, so the annual renewal reminder promised above, and the notices promised in §2 and §15.3, cannot currently be sent. Receipts come from Stripe and sign-in codes from our sign-in provider; we have nothing of our own. Both are publication blockers, not wording problems — a promise to send a reminder is a promise to have something that sends it. See
CHANGELOG.md.
15.2 Cancelling
| Your subscription | Runs to the end of the period you have already paid for, then stops renewing. We do not cut it off mid-period. |
| Your monthly allowance | Available until that period ends. |
| Credits you bought | Kept. They do not expire and cancelling does not take them. |
| Your account | Stays. You need it to spend credits you bought. Cancelling is not deleting. |
If a payment fails, we will give you a grace period and then stop renewing the allowance. Credits you bought are never touched for a failed payment.
Deleting your account is a separate action, and before we delete anything we will tell you your unused purchased balance and offer to refund it. See Privacy Policy §11.2.
15.3 Price changes
Prices change over time, and there is no grandfathering. We do not promise a price for life, and nothing in our marketing implies one.
If we raise the price of your subscription, we will email you at least 30 days before it takes effect, naming the current price, the new price, the date it changes, and how to cancel. If you do not want the new price, cancel before that date and you will not be charged it.
16
16. Refunds
The plain version: what you have already spent is not refundable; what you have not spent is.
| Situation | What happens |
|---|---|
| Credits you have already used | Not refundable. The work was done and the cost was incurred. Our ledger itemises it, request by request, with timestamps — so if you disagree, there is something specific to look at. |
| Unused credits you purchased, when your account ends | Refunded, at the price you paid. |
| Unused monthly allowance | Not refunded. It is what your subscription provided that period. |
| Free, referral and promotional credits | Never refundable — you did not pay for them. |
| A monthly subscription you cancel | It runs to the end of the paid period. We do not pro-rate a partial month. |
| An annual subscription you cancel mid-term | Refunded pro-rata for whole unused months, less the value of credits already consumed. |
| A purchase we could not deliver — a payment taken and credits not added | Refunded in full, or the credits added, at your choice. See §14.3. |
[NOT BUILT] Transferred credits | Non-refundable, to either party. |
| We terminate your account for a reason that is not your breach of these terms | Unused purchased credits refunded pro-rata, and any unused subscription period refunded. See §19. |
| We terminate your account for your serious breach of these terms | We may keep amounts already earned. Unused purchased credits are dealt with under §19.4. |
| We discontinue Course++ | Unused purchased credits refunded. See §21. |
| Something went wrong and it was our fault | Email support@courseplusplus.com. We would rather fix it than be right about it. |
We may decline a refund that appears to be abuse — for example subscribing, consuming the whole allowance immediately, and demanding a full refund. That is what "credits you have already used are not refundable" is for. We may also limit how many times one account can buy, use a little, and refund.
Refunds are made through the card you paid with, by our payment provider. A refund reverses the credits it paid for, in proportion to the amount refunded — you do not keep credits you have been given your money back for.
17
17. Support
| We help with | We do not help with |
|---|---|
| Billing, refunds, cancelling | How to design your course |
| Sign-in problems, missing credits | Writing your syllabus for you |
| Course++ erroring, or making something wrong | How to use Canvas itself |
| Something got created that you did not expect | Anything about grades or individual students |
support@courseplusplus.com. We aim to reply within two business days.
That is a courtesy, not a contractual commitment, and there is no service level agreement in these terms. For help designing your course, your institution's teaching centre is a better place to start than we are.
We may look at your account metadata — your plan, your balance, your credit ledger and the accounting record of your requests — to resolve a support request. We cannot look at your conversations or your course content, because we do not have them. If a problem can only be diagnosed from something we do not hold, we will ask you for it rather than going and getting it.
18
18. Things you may not do
Do not:
- Share your account. One person, one account. Do not let a department run on one subscription.
- Hold more than one account in order to obtain free credits more than once, including by using variations of the same email address.
- Use Course++ through a script, bot, or automation, or in any way other than as a person using the extension.
- Resell, sublicense, rent, or provide Course++ as a service to anyone else, or use it to build a competing product.
- Work around usage limits, balance limits, rate limits or the credit system, or try to obtain inference you have not paid for — including by cancelling a request after the work has been done.
- Modify, reverse engineer, repackage or tamper with the extension, or send our service anything other than what an unmodified extension sends. (You are welcome to read the published verification bundle and run its tests — that is the point of publishing them.)
- Misrepresent your authorisation, your role, or your institution.
- Use Course++ as a student, or use it to interact with your own coursework as a learner.
- Use Course++ with student data your institution has not authorised you to disclose, or after your institution has asked us to disable those features for its domain.
- Attach student work, grades or rosters to a message. (§10.2)
- Try to get at another account's data, probe or attack our systems, or bypass authentication. (Reporting a vulnerability responsibly is different and welcome — see
security.txt.) - Use Course++ to produce anything unlawful, infringing, harassing, deceptive, or in breach of your institution's policies.
- Redeem promotional codes you were not offered, stack codes, or guess at codes.
- Refer yourself, or set up referral arrangements whose purpose is to generate credits rather than customers.
Client-side tampering is not a security control we rely on — metering, model selection, spending caps and plan limits are enforced on our servers, and nothing your browser tells us can make a request cheaper than it was. It is prohibited because it is dishonest, not because it works.
19
19. Suspension and termination
19.1 You may leave at any time
Cancel in one click; delete your account whenever you want. See §15.2.
19.2 We may suspend an account while we investigate
If we see something that looks like fraud, abuse, a compromised account, a payment problem, or a serious breach of these terms, we may suspend the account while we look into it. A suspension takes effect immediately — your account status is re-checked on every request, so it does not wait for a session to expire.
If we suspend you, we will tell you why, in specific terms, and tell you how to respond — unless the law prevents us. If we were wrong, we will restore the account and put right anything the suspension cost you.
A payment dispute suspends the account automatically, because a disputed charge and continued spending are not a combination we can carry. Tell us and we will sort it out — a dispute costs us more than a refund would have, so we have every reason to prefer the refund.
19.3 We may terminate
We may end your account:
- for a serious or repeated breach of these terms;
- for fraud, chargeback abuse, or non-payment;
- if we are required to by law;
- if we stop offering Course++ — see §21;
- for convenience, with 30 days' notice.
We will not terminate your account for a reason prohibited by law, including any protected characteristic.
19.4 What happens to your credits
On any termination that is not for your serious breach of these terms — including termination for convenience and discontinuation of the service — we refund your unused purchased credits and any unused portion of a paid subscription period, pro-rata.
Where we terminate for your serious breach, we may withhold refunds of amounts already earned; we will still deal with your unused purchased balance rather than keeping it silently, and we will tell you in writing what we are doing with it and why.
We have built this so it cannot be skipped by accident: our own administrative tools refuse to complete a deletion until the unused purchased balance has been read and acknowledged in writing.
Drafting note for counsel. California treats prepaid balances as held in trust for the buyer, which is why we do not forfeit purchased credits even on a breach termination. Please confirm this clause is the right shape and that it does not create an obligation we cannot meet. Note the operational fact: refunds are issued by hand through our payment provider. Nothing automates them, so this clause is a commitment about what we will do, not a description of a mechanism.
20
20. Limits on liability
To the fullest extent the law allows:
- We are not liable for indirect, incidental, special, consequential, exemplary or punitive damages, or for lost profits, lost data, lost course material, lost teaching time, or loss of goodwill.
- Our total liability to you for all claims relating to Course++ is limited to
[LIABILITY CAP — SEE DRAFTING NOTE]. - Nothing here limits liability that cannot be limited by law, including for fraud or wilful misconduct.
⚠️ Drafting note for counsel — this cap is genuinely unresolved and must not be guessed
The conventional cap is "the fees you paid in the last 12 months." On a subscription at this price that is roughly two hundred dollars — a serious mismatch against the plausible worst case, which is a student-data incident at an institution. A cap that small may also be unenforceable as unconscionable in some circumstances, which would leave us with no cap rather than a modest one.
Please advise on: the right cap and floor; whether a higher fixed floor is worth carrying; whether the cap should differ for a student-data claim; and, related, whether technology errors and omissions plus cyber insurance should be in place before launch rather than at a revenue threshold. The plan currently defers insurance, and that deferral and this cap are the same decision, not two. See
README.md, question 8.
21
21. If we stop offering Course++
We are a small company. If we discontinue Course++:
- We will give you at least 60 days' notice by email.
- We will refund your unused purchased credits.
- We will stop charging subscriptions immediately and refund any unused paid period.
- Course material Course++ already built is in your Canvas, and stays there. Your revision history is in your Canvas too. Neither depends on us continuing to exist.
We also intend to keep a written operating runbook and a designated person with documented emergency access, so that this clause can be honoured even if the person who runs the company cannot.
Drafting note — do not publish as written until this is true. A previous draft stated the runbook and the designated person as facts. The person has not been identified or asked. Until someone has agreed to it in writing, this paragraph must read as an intention, which is what it now does. Please also advise whether the refund obligation should be backed by anything — a segregated account, a reserve — or whether the clause is enough. See
README.md, question 25, and U13.
22
22. Dispute resolution — TWO ALTERNATIVES, one must be deleted
⚠️ THIS SECTION IS UNFINISHED ON PURPOSE
Two alternatives are set out below. Exactly one must survive; the other must be deleted before publication. Do not publish this document with both.
A recommendation is marked, so that this is not left as a coin toss — but it is a recommendation from a drafter who is not a lawyer, and it is not the decision. This is the single clause most worth an attorney's time.
Why it is a real question, and not a default: mass arbitration — thousands of individual filings, each carrying an arbitration fee that the company pays — has turned arbitration clauses from a shield into a liability for small consumer-priced products. A clause copied from a large company is written for a different risk profile and can be actively harmful here. This is a reversal of ordinary advice from a few years ago, and it is the reason both alternatives are still on the page.
Also, and this is easy to miss: either alternative's enforceability depends on the sign-up screen as much as on the wording. A tick-box with real links that the user must affirmatively check is what courts uphold. "By continuing you agree…" printed near a button is frequently held unenforceable. Whichever alternative is chosen, review the sign-up screen with counsel at the same time.
Alternative A — Individual arbitration with a class-action waiver
Trade-off, stated plainly. Keeps disputes out of court and out of class actions, which is the protection that matters most against a claim shaped like "every subscriber's credits expired." In the ClassPass credit-expiration litigation, an arbitration clause is the reason that matter did not become a class action on behalf of every subscriber. The cost is mass-arbitration exposure: a coordinated filing campaign can generate per-case fees that dwarf the amounts in dispute, and those fees fall on us. Some counsel now consider that risk worse than the class-action risk for a product at this price point.
Draft text — for counsel to write properly, not to copy from here.
Any dispute between you and us relating to Course++ will be resolved by binding individual arbitration administered by
[ARBITRATION PROVIDER]under its consumer rules, seated in[COUNTY], Utah, or by telephone or videoconference at your election, or in small-claims court if the claim qualifies.You and we each waive any right to a jury trial and any right to participate in a class, collective, consolidated or representative action. An arbitrator may not consolidate claims or preside over any form of representative proceeding.
[PRE-DISPUTE NOTICE PERIOD — 30 or 60 days, with an address for notice][WHO PAYS ARBITRATION FEES — counsel to specify; this is where mass-arbitration exposure lives][MASS-ARBITRATION PROTOCOL — batching, bellwether, or a filing-volume threshold][OPT-OUT WINDOW — whether a 30-day opt-out is offered][SEVERABILITY — what happens if the class waiver is held unenforceable]
Alternative B — Utah courts, with a class-action waiver and a jury-trial waiver
✅ Recommended default if this must be published before counsel has ruled — but see the caveat below
Trade-off, stated plainly. No arbitration fees and no mass-arbitration exposure at all, and a forum-selection clause naming our home courts is generally straightforward to enforce against a US consumer. The cost is that a class action remains procedurally possible if the class waiver is struck down, and litigating even one small case in court is more expensive than arbitrating it. Increasingly the preferred shape for small consumer-priced products.
Why it is marked as the recommended default. Three reasons, all specific to this business rather than general: the realistic mass-arbitration exposure for a one-person company is unbounded and the realistic class-action exposure is bounded by the size of the customer base; the amounts in dispute here are small enough that individual litigation is self-limiting; and Alternative A has more attorney-dependent blanks in it ([WHO PAYS FEES], [MASS-ARBITRATION PROTOCOL]) than can safely be filled by anyone else.
The caveat, stated because it cuts the other way. Alternative A is the better protection against the specific claim this business is most likely to attract — a class action about credit expiry, the exact shape of the ClassPass case. If counsel judges that risk to be the dominant one, choose A. This recommendation is about which unknown is more dangerous to a very small company, not about which clause is stronger.
Draft text — for counsel to write properly, not to copy from here.
Any dispute between you and us relating to Course++ will be brought exclusively in the state or federal courts located in
[COUNTY]County, Utah, and you and we each consent to the personal jurisdiction of those courts.You and we each waive any right to a jury trial, and each waive any right to participate in a class, collective, consolidated or representative action. Claims may be brought only in an individual capacity.
Nothing here prevents either of us from bringing a qualifying claim in small-claims court, or from seeking injunctive relief where appropriate.
[PRE-DISPUTE NOTICE PERIOD]·[FEE-SHIFTING — probably none]·[SEVERABILITY — what happens if the class waiver is held unenforceable]
Common to both
[LIMITATIONS PERIOD]— whether to shorten the period for bringing a claim, and to what.- Before either applies, please just email us.
support@courseplusplus.com. Most of what could become a dispute is a billing mistake we would rather simply fix.
23
23. Governing law
These terms are governed by the laws of the State of Utah, without regard to its conflict-of-laws rules. The forum is set by §22.
24
24. Indemnity
You agree to indemnify us against third-party claims arising from:
- your breach of the representation in §4 — that is, using Course++ with student data your institution had not authorised you to disclose;
- material you attached yourself (§10.2), including student work and anything you did not have the right to use;
- your failure to follow your institution's policies, including its grade-change and AI-disclosure policies; and
- content you published from Course++ output without reviewing it.
Drafting note for counsel. An indemnity from an individual teacher is of limited practical value and can read as aggressive to this audience, so it has been narrowed from the previous draft: it no longer covers "your use of Course++ in breach of these terms" generally, and now names the four situations where the instructor genuinely is the only party in a position to prevent the harm. Please advise whether it earns its place at all, whether it should be narrowed further to §4 and §10.2 alone, and separately whether Course++ should offer any indemnity to an institution in the DPA rider.
25
25. Everything else
- No service level agreement. We do not promise uptime, availability, or a response time. We do keep an emergency stop that lets us halt the service deliberately rather than let a fault run, and we may use it.
- Changes to Course++. We may add, change or remove features. If we remove something you rely on, we will tell you.
- Third-party services. Course++ depends on Canvas, on our payment provider, and on AI providers. Their problems can become your problems, and we are not liable for their acts or omissions beyond our own obligations here.
- No waiver. If we do not enforce a term, we have not given it up.
- Severability. If a term is unenforceable, the rest stands.
- Assignment. You may not transfer your account. We may transfer this agreement to a buyer of the business, and will tell you.
- Force majeure. Neither of us is liable for a failure caused by something outside our reasonable control.
- Notices. We will email the address on your account. Write to us at
support@courseplusplus.comor[COMMERCIAL MAIL ADDRESS]. - English. These terms are in English, and the English version governs. Course++ can write course material in other languages; that is a product capability and not an offer of the service in another market (§3).
26
26. Not affiliated with Instructure, Inc.
Course++ is not affiliated with, endorsed by, sponsored by, or in any way officially connected to Instructure, Inc., the maker of Canvas.
"Canvas" and "Instructure" are trademarks of Instructure, Inc., used here only to describe what Course++ works with. Course++ is an independent product of CoursePlusPlus LLC.
27
27. Contact
| For | Write to |
|---|---|
| Support, billing, refunds, cancelling | support@courseplusplus.com |
| Privacy, data requests, institutional opt-out | privacy@courseplusplus.com |
| Institutional or district contracts | sales@courseplusplus.com |
| Security reports | security@courseplusplus.com — see security.txt |
| Post | CoursePlusPlus LLC, [COMMERCIAL MAIL ADDRESS] |
Drafting note.
support@andprivacy@are in use and monitored.security@andsales@are asserted by this document and must exist, route somewhere a person reads, and be tested before publication.