Torero Town

Privacy Policy

Version 1.4 · Effective October 22, 2026

Torero Town is an independent student project by Ryan Morris and Calem Filipek, two students at the University of San Diego. Torero Town is not incorporated yet. It is not run or endorsed by the University of San Diego (USD) or by Instructure. In this policy, "we" means Ryan and Calem.

This policy covers the Torero Town app for Mac and Windows, version 1.0.0-beta.13 and later, and this website, torerotown.com. Earlier betas collected data differently; see Earlier betas.

The short version

  • Your Canvas sign-in, your grades and scores, and what you turned in are stored on your computer, not on our servers. The names of your classes and assignments leave as usage data, which is part of using Torero Town.
  • The app only reads Canvas. It never posts, submits, changes or deletes anything there.
  • A few things have to leave your computer for the app to work: checking your school license, signing in with Canvas, and email or text reminders if you pick them. Each one is listed below.
  • A bug report is sent only when you press "Send report" on the Help Torero Town page.
  • Usage data (what the app finds, including class and assignment names, how well it works, and diagnostics) is part of using Torero Town, the same for every student. You agree to it on the app's "Before you start" screen, and nothing is sent until you do.
  • We don't sell your data and we don't show ads. No AI model reads what you turn in or anything you write. On our servers, Anthropic's Claude reads usage data about the items the app finds (never who you are) to learn what is really due; see How we use AI.

What stays on your computer

The app keeps its data in a folder on your computer:

That folder holds your Canvas sign-in, what the app reads from Canvas (classes, assignments, due dates, grades and whether work was turned in, and the syllabus pages and files it reads to find dates), your reminder settings, check-offs and to-dos, your "Was this useful?" answers, and a record of the reminders it sent.

Your computer's own login protects these files. The app doesn't add its own encryption on top, so keep your computer locked. Uninstalling the app doesn't delete the folder. Delete it yourself to remove everything.

What leaves your computer, and why

WhatWhere it goes and why
Reading Canvas and Simple SyllabusThe app talks to USD's Canvas and USD's Simple Syllabus pages directly, using your sign-in, to read your courses. This doesn't pass through our server.
Your school licenseYou don't subscribe or pay. Your school pays for Torero Town. When you connect Canvas, our server checks that your account is on USD's Canvas with a @sandiego.edu email. If it isn't, the server cancels the sign-in with Canvas and keeps nothing. If it is, the server gives your app a signed license that holds your Canvas account number, your school email and your school's Canvas address. The license is kept on your computer and renews when your Canvas sign-in renews. Our server keeps no record of it. The email you type on torerotown.com to download the app stays in your browser and isn't sent to us. If you sign in to Canvas there while the app downloads, your browser keeps a one-time code until the app picks the sign-in up, then deletes it.
Connect with CanvasAvailable once USD turns it on. Until then the app connects with a personal access token that you paste in, and the token stays on your computer. With Connect with Canvas, your Canvas sign-in passes through torerotown.com when you connect, and again about once an hour when it renews, because Canvas requires a secret key that only our server holds. When you connect, the server also reads your Canvas profile (your name, Canvas account number and school email) and passes it to your app. It holds a new sign-in in memory until your app collects it: up to 5 minutes, or up to 30 if you sign in on torerotown.com while the app downloads. It keeps no copy after that, cancels a sign-in your app never collects, and never writes your sign-in to its logs. Disconnecting goes from the app straight to Canvas.
Email reminders, if you pick themThe reminder (class, assignment name, due time and a link to it in Canvas) goes from the app to torerotown.com and through Resend to your school email. Our server doesn't store it. Resend keeps a record of sent emails under its own policy.
iMessage reminders, if you pick themYour own Messages app sends them, so they travel through Apple like any message you send.
Text reminders, if you turn them onTexts are optional and never required to use Torero Town. You turn them on under Text message in Settings: you type your phone number and confirm it with a 6-digit code we text you. You can also opt in when you sign up on torerotown.com, on a computer or a phone: after the Canvas sign-in, your number passes through torerotown.com to our text service, which texts you the code; the number isn't written to any log. If you sign up on a phone, the app turns texts on with that confirmed number when you sign in on your computer, with no second code; the phone's own Canvas sign-in waits on our server for at most 30 minutes and is then revoked in Canvas, since no app collects it. Then, about every 15 minutes while the app runs, your phone number, time zone, the evening time that suits you (worked out on your computer from when you usually turn work in), whether you have agreed to usage data yet, and for each item due in the next 7 days its class, assignment name, due time, the kind of work it is (for example a quiz, a paper or group work), and the Canvas IDs of the item and its class go from the app to torerotown.com. Your school license goes with them and carries your school email and Canvas account number; we check it and do not keep it. We keep the rest in our database (Supabase), filed under a code made from your Canvas account number, along with when your number was confirmed, whether you replied STOP or your carrier is blocking our texts, and a scrambled copy of your number that we use only to count texts. We don't keep your reminder times. Our texting service, Twilio, sends about one text per assignment, from a few hours to a week before it is due, only between 9 AM and 8:30 PM your time, and we skip a text when we already know the work is turned in. Message frequency varies: at most 3 reminder texts a day, plus a check-in about once a month. Msg & data rates may apply. Reply STOP to stop, HELP for help. To start again after STOP, reply START, then turn texts back on in the app. Reply DONE to a reminder once the work is in, including work Canvas can't see, such as work on paper: we stop texting about it, and the app marks it done. Twilio keeps its own record of every text (the message, both phone numbers and whether it was delivered) under its own policy. No mobile information will be shared with third parties or affiliates for marketing or promotional purposes. Text messaging opt-in data and consent are not shared with any third party. Twilio and Supabase hold it only to run your texts for us. We note each reply we get (the number it came from, the day and the kind of reply), whether or not it comes from a student, and delete it after 30 days. An item's class and assignment name are erased once its texts are sent. The item and the record of its texts are deleted 90 days after the deadline. The record that you turned texts on is kept until 2 years after you turn them off, because phone carriers can ask us to show that you agreed. Ask at help@torerotown.com and we delete any of it sooner. If you use Connect with Canvas, you can also tick the Canvas check under Text message. Then our server keeps your Canvas sign-in, encrypted, and uses it only to check whether an item is turned in, seconds before each text, and nothing else, so you aren't texted about work you already turned in. It is erased when you turn the check or texts off, or reply STOP.
Campus eventsThe app downloads USD's public event and athletics calendars (sandiego.edu and usdtoreros.com). These requests carry nothing about you beyond what any web request carries, such as your IP address.
UpdatesThe app downloads and checks for new versions on GitHub, where we publish them. GitHub sees your IP address and app version. If you installed Torero Town from the Microsoft Store, Microsoft delivers its updates instead, under Microsoft's own privacy statement.
Bug reports, only if you send oneWhen you press "Send report" on the Help Torero Town page, the app sends what you typed, the Torero Town version, and your computer type (Mac or Windows) to torerotown.com. Your school license goes with it so we know who it's from. Our server and our email service, Resend, email it to help@torerotown.com, with your school email as the reply address so we can write back. Nothing is sent until you press "Send report". Our server doesn't store the report. The copy we keep is the email in our inbox, and Resend keeps a record of sent emails under its own policy. If the report can't be sent, the page offers an email link that your own mail app sends.
Usage data, part of using Torero TownSee Usage data below.

Usage data (part of using Torero Town)

Usage data is part of using Torero Town, the same for every student: the first screen in the app, "Before you start" (consent version 4), asks you to agree to it, and "I agree" is the only answer. Nothing is sent until you agree. Until then, syncing and reminders keep running in the background, and the app's window waits on that screen.

The app sends what it finds and how it goes, so it can learn what is really due: the names of your classes and of each assignment, quiz, exam and other dated item it finds, with its due date, points possible, how much of the class grade it counts for, where in Canvas it was found, and whether Canvas lists it as turned in, missing or excused; the past items Canvas marked late or missing, by name; how you set up reminders, whether syncs work, and reminders sent and how; whether work was turned in on time, late or missed after a reminder; your streak and how early you turn work in; your Yes / No / Already done answers; your answers about texts (Helpful, Didn't need it, Too many texts); and when you tell us an item is wrong (for example, it was on paper, it was excused or it isn't a real assignment), with the reason and which item it was.

Each one also carries: a random ID for your copy of the app, the time, the app version, your computer type, your school's Canvas address, and a student key. The student key is a code made from your Canvas account number, so your laptop and desktop count as one student. It is a pseudonym, not anonymous: someone holding our database could work out your Canvas account number from it. We only match it back to you to delete your data when you ask.

Never sent: your name, email, grades or scores, what you turned in, or anything you wrote.

Diagnostics are part of usage data too: the screens you open, the features you use, what you check off, confirm as due or mark as not a deadline (which item, by name), and error messages, which can include Canvas page addresses. They help us fix bugs.

Usage data is stored with Supabase and kept while you have a school license, then deleted within 12 months after it ends. Usage data sent during the pilot, before consent version 2, is still deleted by June 30, 2027 at the latest. To stop it, uninstall Torero Town. To delete what was already sent, email help@torerotown.com.

How we use AI

In the app, no AI model reads your coursework. On our servers, a nightly job uses Claude, an AI model made by Anthropic, to learn from everyone's usage data which items are real deadlines and which are not (class participation, work done on paper, extra credit, an old copy of last year's dates, or the same deadline twice), so the app can remind you about the right things.

Claude sees only what the app found about an item: its title and class, what Canvas says about it (such as its due date, points possible and where in Canvas it was found), and how many students saw it or told us it was wrong. It never sees your name, email, student key, grades or scores, what you turned in, or anything you wrote, and it is never told which student an item came from. Anthropic processes what we send under its commercial terms for businesses that use its models.

What Claude suggests never deletes anything. A suggestion can only make a reminder quieter after it has been right many times, for many students in several classes, and never for online work due within 48 hours. Your own "Not right?" answer always wins on your computer.

If you sign up for the pilot

If you join the pilot through our sign-up form, we keep what you put on it (your name, school email, computer type and, if you give it, your phone number) in one private spreadsheet that only the two of us can open. We use it only to run the pilot: sending your pilot code, helping with setup, and pilot updates. It never goes into the app, our code, or our usage-data database, and we delete it by June 30, 2027 at the latest, or sooner when you ask.

Earlier betas

Versions before 1.0.0-beta.13 had no "Before you start" screen. Versions 1.0.0-beta.10 through 1.0.0-beta.12, without asking, sent one set of counts from your past semesters: how many semesters, courses and graded assignments the app counted, and how many of those assignments were late, missing or scored a zero, with the same identifiers listed above. In every earlier version, screens, features and error messages were sent only if you turned on diagnostics in Settings. If you used an earlier beta and want those counts deleted, email help@torerotown.com. When you update, the app shows the "Before you start" screen.

How the app reads Canvas

The app connects to Canvas in one of two ways. It only reads with either one. It never posts, submits, changes or deletes anything in Canvas.

The 18 read-only permissions the Connect with Canvas key has
  • Your Canvas profile (your name, Canvas account number and school email): GET /api/v1/users/:id, GET /api/v1/users/:user_id/profile
  • Your course list and each course's tabs: GET /api/v1/courses, GET /api/v1/courses/:course_id/tabs
  • Assignments and their groups (such as Exams or Homework), quizzes and discussion topics: GET /api/v1/courses/:course_id/assignments, GET /api/v1/courses/:course_id/assignment_groups, GET /api/v1/courses/:course_id/quizzes, GET /api/v1/courses/:course_id/discussion_topics
  • Course pages, including the front page and syllabus pages: GET /api/v1/courses/:course_id/front_page, GET /api/v1/courses/:course_id/pages, GET /api/v1/courses/:course_id/pages/:url_or_id
  • Course files, such as syllabi and schedules: GET /api/v1/courses/:course_id/files, GET /api/v1/courses/:course_id/files/:id, GET /api/v1/files/:id
  • Modules: GET /api/v1/courses/:course_id/modules
  • The launch link for USD's Simple Syllabus tab: GET /api/v1/courses/:course_id/external_tools/sessionless_launch
  • Your calendar events and Canvas to-do list: GET /api/v1/calendar_events, GET /api/v1/planner/items

Who we share data with

Only the services that run Torero Town, each for one job:

We don't sell or rent your personal information, we don't share it for advertising, and we don't show ads. We would disclose information only if the law required it.

How long we keep things

Your choices

We give everyone these choices, wherever they live.

Security

Every connection between the app and our server uses HTTPS. The Connect with Canvas key is read-only, and the secret it needs stays on our server, never in the app. Each sign-in is tied to the computer that started it, so a sign-in link someone else sends you can't give them your Canvas access. The key the app uses to send usage data can only add rows, not read them. No system is perfectly secure; if we learn of a breach that affects you, we will tell you.

Age

Torero Town is for people 18 and older. We don't knowingly collect data from anyone younger. If you think we have, email us and we will delete it.

Research volunteers

Some students volunteer for our deadline research, which reads their courses on a USD test copy of Canvas. That research has its own signed consent form. This policy doesn't cover it.

Changes to this policy

Every version has a number and a date at the top. If we change what we collect or share, we publish the new version here first, and the app asks you to agree again before you keep using it. Ask us for any earlier version.

Version 1.4 (October 22, 2026): text reminders no longer come 6 and 2 hours before each deadline. You get about one text per assignment, timed to the kind of work: a few hours ahead for a quiz or discussion, a day ahead for homework, three days ahead for a paper or project, and a week ahead for an exam or group project. Texts come only between 9 AM and 8:30 PM your time, at most 3 a day, plus a check-in about once a month. To time evening texts, the app works out on your computer when you usually turn work in and sends only that time, and each item now goes with the kind of work it is. Usage data adds your answers about whether a text helped. The app asks you to agree to the Terms (version 1.4) and to usage data (consent version 5) again.

Version 1.3 (October 20, 2026): usage data, diagnostics included, is part of using Torero Town for every student, and the Terms of Service say so too. The app asks you to agree to the Terms (version 1.3) and to usage data (consent version 4) again. The "Before you start" screen has one answer, I agree; "Not now", the diagnostics box and Stop sharing are gone. What is collected is the same as consent version 3 with diagnostics. Nothing is sent until you agree, and the app asks everyone again, including students who chose "Not now" before. A new section, How we use AI, names the AI model our servers use on usage data (Claude, by Anthropic) and what it sees. The text-reminders row also covers opting in on torerotown.com, on a computer or a phone, and the Terms gain a Text reminders section (section 5): what the program is, how often we text, Msg & data rates, STOP, START, HELP and DONE. Questions and requests to delete your data go to help@torerotown.com, in the app and here.

Usage data, October 17, 2026 (still version 1.2, consent version 3): usage data now names your classes and the items the app finds (each dated item with its due date, points possible, how much of the grade it counts for and how Canvas lists it, and the past items Canvas marked late or missing), and says which item a reminder's outcome, a Yes / No / Already done answer or a correction is about. It still never includes your name, email, grades or scores, what you turned in, or anything you wrote. Because this changes what we collect, the consent screen is version 3 and the app asks you again before sending any of it.

Text reminders, October 16, 2026 (still version 1.2): the text-reminders row describes texts as they work instead of "not available yet": what the app sends, what we keep and for how long, Twilio's own record, how often we text, STOP, HELP and DONE, that no mobile information is shared for marketing, and the optional Canvas check. Nothing is collected for texts until you turn them on in the app.

Version 1.2 (October 15, 2026): Torero Town's pilot has ended, so pilot data is now called usage data and is kept while you have a school license instead of until June 30, 2027 (what was sent during the pilot keeps that date). Usage data now includes your streak, how early you turn work in, and when you tell us an overdue item is wrong (the reason and type of item, never which one). Saying no still changes nothing else. The consent screen is version 2, so the app asks again once. Connect with Canvas is described as it works, with 18 permissions instead of 20. Students no longer subscribe: access comes through your school's license, and Stripe appears only for the beta's pilot-code subscriptions, which were never charged. Copies installed from the Microsoft Store get their updates from Microsoft.

Version 1.1 (October 4, 2026): the diagnostics box on "Before you start" now starts ticked (version 1.0 had it unticked), and diagnostics now name what you check off, confirm as due or mark as not a deadline. Bug reports sent from the Help Torero Town page are described. Connect with Canvas is described as coming in an update, since this version connects with a personal access token. The text-reminder row (still not available) lists exactly what the upload will send.

Contact

Ryan Morris and Calem Filipek, San Diego, California · help@torerotown.com

See also the Terms of Service.