Data Usage Policy

Last updated: September 1, 2026

1. Purpose and Scope

In short: This page walks through what happens to your data feature by feature. Three promises up front: we do not sell your personal information, we do not use your grades to target ads, and we never publish your email or account ID.

This Data Usage Policy explains how information moves through specific features of the Service operated by CAA Readiness Index LLC, a Mississippi limited liability company (“CRI”). It supplements our Privacy Policy, which describes our overall privacy practices, and our Terms of Service, which governs use of the Service.

Our commitments: We do not sell your personal information, use your academic profile for third-party advertising, or publish your email address or account ID in community analytics.

2. Account and Profile Data

In short: Supabase stores your login and profile: your email, display name, avatar, preferences, and which plan you are on. We use it to sign you in and run your account.

Supabase provides account authentication and stores your CRI profile. Account data may include your Supabase user ID, email address, display name, optional avatar, preferences, signup and onboarding responses, marketing-email choice, account dates, plan entitlement, and terms-acceptance records.

We use this information to authenticate you, secure sessions, personalize the interface, associate saved data with the correct account, provide plan access, communicate with you, and administer the Service. Your email address is not displayed to other CRI users.

3. Calculator and Saved Results

In short: When you calculate a score, your GPAs and test score go to our backend to be worked out. Saved results stay tied to your account. Community range views show score bands with no name attached.

3.1 Calculator Inputs and Outputs

The calculator processes cumulative GPA, science GPA, test type, and MCAT or GRE score. CRI uses those inputs to generate a score, percentiles, charts, and related comparisons. Inputs are sent to the CRI analysis backend, hosted on Render and served over Cloudflare, for calculation.

3.2 Calculation Logs and Community Ranges

A calculation record may include the exact inputs, output score and percentile, timestamp and, when signed in, your user ID and current profile display name. These records support calculation history, reliability checks, longitudinal analysis, community activity, and score distributions.

Community surfaces show only selected fields, such as CRI score, GPA range, test type, and test-score range. They do not show the calculation owner's email, user ID, or display name.

3.3 Saved Results and Comparisons

When you save a result, CRI stores its inputs, outputs, percentile data, timestamp, and any supported comparison fields in your account. Free accounts may keep one saved result at a time; CRI Plus accounts may keep additional scenarios as described on the Pricing page.

4. Planning and Tracker Data

In short: The planning tools save whatever you enter: matcher inputs, saved programs and prereqs, tracker schools and dates, and your notes. This is your private data.

CRI planning tools may store information you enter or select, including:

  • Program Matcher inputs and preferences
  • Saved programs and saved prerequisite snapshots
  • Prerequisite course-profile information and notes
  • Application Tracker schools, cycles, milestones, dates, fees, response methods, and notes
  • Cycle planning entries and application-status history
  • Experience-hour categories, entries, dates, descriptions, and goals

We use this data to provide the requested tracker, matching, comparison, and planning functionality; sync it across your sessions; enforce plan limits; and produce de-identified aggregate reporting.

5. CASAA Auto-fill and the Discord Post Generator

In short: You can optionally upload a CASAA application so selected fields are copied into an editable draft. Website uploads briefly pass through private CRI storage; bot uploads pass through Discord. Both are sent to Anthropic for extraction. Nothing is submitted or published until you review the draft and take that separate action.

5.1 Optional CASAA Application Auto-fill

CASAA auto-fill is available in the Accepted Applicant Survey, in Success Story mode on the website's Discord Post Generator, and in the Discord bot's Success Story flow. It is optional; every supported field can still be entered or corrected manually.

On the website, you must sign in before uploading. Your browser sends the PDF under a random filename to a private Supabase bucket that other accounts cannot read. CRI downloads it, sends the document to Anthropic's commercial API, returns selected fields to the page, and deletes the PDF from CRI storage after processing. The original filename is not used as the storage key.

In the Discord bot, the attachment is first uploaded to Discord. CRI retrieves it from the interaction, sends it to Anthropic for the same extraction, and does not store the PDF as a CRI file. Discord and Anthropic handle their copies under their own terms and privacy notices.

A CASAA application can contain a legal name, address, date of birth, applicant ID, references, and essays. The extraction schema is limited to fields used by the destination form or post, such as GPAs, test scores, state of residence, education, experience and hour summaries, awards, certifications, recommendation writer roles, and cycle dates. It does not return the applicant's name, contact details, CASAA ID, referee names or contact details, essay text, or a program list. Automated extraction may be incomplete or incorrect, so every returned field remains editable and should be checked.

In the Accepted Applicant Survey, imported values become part of the local browser draft and are not stored as a survey submission unless you later submit. On the website's post generator, imported values stay in the active browser form until you leave or refresh it, and copying or publishing the result remains your choice. If an OAuth sign-in or Discord connection takes you away from the page, the generator temporarily places that form in the browser's session storage, restores and removes it when you return, and ignores it after one hour. In the Discord bot, imported values are saved in the bot draft described below.

5.2 Discord Connections, Drafts, and Posts

The bot receives your Discord user ID, server and channel IDs, slash commands, button and modal responses, attachment metadata, and the fields you enter. It does not require a CRI website account when used entirely inside Discord. Draft panels and previews are ephemeral Discord interactions visible to you, but Discord still operates the platform that delivers them.

Direct publishing from the website requires a CRI account and an optional linked Discord identity. Supabase handles the OAuth connection. CRI reads the linked Discord user ID and uses the bot to check current CAA server membership, screening or timeout state, roles, and access to the destination channel. The browser never receives the bot token, cannot choose an arbitrary destination channel, and does not publish through a Discord user token. You can disconnect the identity from the Post Generator.

When you choose Post it in Discord or confirm Post now on the website, CRI sends the completed What Are My Chances or Success Story post to the corresponding fixed channel through a webhook and uses your current server nickname or Discord display name and avatar as the post identity. Anyone with access to that channel may be able to view or copy the post. The bot stores the resulting message IDs so it can update or delete the post when you ask.

The website and bot share a limit of five successful new publications per Discord account in any rolling one-hour period. A send in progress temporarily reserves a place so simultaneous requests cannot exceed the limit; a confirmed failed send releases it. Building, previewing, copying, updating, and deleting a post do not use this allowance, and deleting a published post does not refund it.

To apply that shared limit, CRI temporarily stores the Discord user ID, draft ID, reservation time, successful publication time when applicable, and expiry time. The quota record does not contain post text, draft answers, a CRI account ID, an IP address, or a Discord access token.

An unfinished bot draft expires 24 hours after creation and is deleted by routine cleanup. You do not have to wait for that: the panel carries a Delete draft button for any draft you have not posted, which removes the row and everything you entered in it at once. After publication, CRI keeps the form answers and Discord identifiers needed to edit or delete the post until you use Delete post in the bot. Delete post removes both the Discord post and its CRI draft record. Deleting the message directly in Discord may not immediately tell CRI to delete the saved draft, so use the bot control or contact us when you want both copies removed.

Some posts made before September 1, 2026 may no longer have saved form answers because those answers were removed under the previous 30-day policy. Those answers cannot be restored, but the bot can still delete the Discord post.

5.3 Auto-fill Usage Records

CRI keeps a limited record of each auto-fill attempt to enforce monthly limits, secure and troubleshoot the feature, and account for model usage. The record is keyed to the CRI user ID for website uploads or the Discord user ID for bot uploads and may include the time, status, error code, whether processing was billable, and token counts. It does not contain the PDF, document text, or extracted fields.

6. Application Tracker: Private and Community Fields

In short: Your tracker has two layers. Your notes and your user ID stay private to you. A stripped-down version of the rest, like school, cycle, month, and status, feeds the community timing charts.

Your account-linked application rows and milestone history are available to you through the tracker. Notes and user IDs remain in the private, account-controlled records.

To power community response analytics, a sanitized view may make the following fields visible to CRI users: school, application cycle, submission month, current status, status-received month, response method, reported fee, creation timestamp, and the row's non-identifying ID. The community view excludes your user ID and notes.

Community entries can be sparse, self-reported, delayed, or inaccurate. They should not be treated as an official record from a program.

7. Feedback and Communications

In short: Feedback you send us is tied to your account so we can follow up on it, and it stays private unless you say otherwise.

Feedback submissions may include an issue, idea, written review, rating, account ID, source, and timestamp. We use this information to respond, prioritize fixes, improve CRI, and calculate aggregate review ratings. Written feedback is not made public unless we obtain permission or present it without identifying you.

We use your email for authentication, account security, billing, support, and important service messages. Marketing messages are controlled separately; you can unsubscribe from a message or change Marketing emails in Account Settings.

8. CRI Plus and Payment Data

In short: Stripe runs checkout and holds your card number. We only keep what we need to manage your subscription: your Stripe IDs, plan, status, and refund or dispute records.

Stripe hosts checkout and processes payment-card information. CRI receives and stores limited billing data needed to provide and administer CRI Plus, including Stripe customer and subscription IDs, plan term, subscription status, access period, cancellation feedback, invoice or refund state, and payment-dispute records.

CRI does not receive or store your full card number, card verification code, or full bank-account credentials. Stripe may provide limited details such as payment method type, last four digits, billing country, or payment fingerprint for fraud, support, or dispute handling.

Billing and dispute records may be kept after account deletion when reasonably needed for accounting, fraud prevention, chargeback response, contract enforcement, or legal compliance. See our Refund Policy.

9. Product Analytics and Cookies

In short: Vercel gives us basic traffic counts with no third-party cookies. Google Analytics only runs if you switch it on in Cookie Preferences, and you can switch it back off.

9.1 Vercel Web Analytics

Vercel Web Analytics helps us understand aggregated page views and traffic. Its data points may include timestamp, route, referrer, filtered query parameters, approximate geolocation, browser, operating system, and device type. It does not use third-party cookies or give CRI a cross-site profile of you.

9.2 Google Analytics

Google Analytics loads only if you enable Analytics in our consent controls. Its standard implementation may process page views, sessions, approximate location, browser and device information, and a first-party client identifier. CRI does not intentionally send calculator inputs, tracker entries, email addresses, or user IDs to Google Analytics.

9.3 Your Controls

Use Cookie Preferences in the site footer to enable or disable Google Analytics. You may also clear browser cookies and site storage or use the Google Analytics Opt-out Browser Add-on. Necessary authentication and security storage cannot be disabled through the CRI preference panel.

10. Other Service Providers

In short: The outside companies we rely on, and what each one does for us.

  • Supabase: database hosting, authentication, and file storage
  • Vercel: website hosting, delivery, logs, and web analytics
  • Render: hosting for the CRI analysis backend that calculates scores
  • Cloudflare: DNS, content delivery, network protection, and temporary routing for CRI services
  • Google Analytics: consent-based website analytics
  • Anthropic: reading transcripts and CASAA applications you choose to upload
  • Discord: providing linked-account authorization, server membership verification, the bot interface, bot interactions and attachments, and delivery of posts to Discord channels
  • Stripe: checkout, subscriptions, invoices, refunds, and payment disputes
  • Resend: transactional, service, and marketing email delivery
  • Mailgun: receiving email you send to our support and privacy addresses
  • Mapbox: map tiles and interactive program-map functionality
  • Google/YouTube: playlist data and video playback when those features are used

These providers receive the information reasonably needed to perform their services and handle it under their own terms and privacy notices. Provider links are available in our Privacy Policy.

11. Aggregation, De-identification, and Research

In short:We combine everyone's data into anonymous charts and benchmarks. We take steps to make sure nobody can be picked out of them, and we do not try to reverse it.

CRI may aggregate or de-identify calculator, tracker, application, and usage data to build benchmarks, distributions, trend charts, reliability checks, product findings, public reports, or research. We use reasonable measures designed to prevent those outputs from identifying an individual and do not attempt to re-identify de-identified data.

Small groups and unusual combinations can increase re-identification risk. We may suppress, bucket, round, delay, or omit fields when needed to reduce that risk. De-identified and aggregate information may be retained longer than the underlying account data.

11.1 Verification Data for the Accepted Applicant Survey

A cycle submitted through the Accepted Applicant Survey is checked by a person before it joins the dataset described above. That check uses three things you provide at the last step: your acceptance letter, your deposit receipt, and your name as it appears on the letter. They exist to establish that the documents belong to each other and to you.

None of the three is part of the dataset. They are never aggregated, never exported, and never published. All three are deleted when the submission is approved or rejected, and automatically after 30 days if it has not been reviewed by then. What is retained is the decision, the date it was made, and any note the reviewer wrote.

12. Automated Analysis and Extraction

In short: Your score and matches come from statistical methods. Optional CASAA auto-fill uses an AI model to copy selected fields into a draft. Neither is an admissions decision, and auto-fill never submits or publishes on its own.

CRI scores, percentiles, matches, and comparisons are generated by statistical methods using the information you enter and the comparison datasets available to CRI. They are not an admissions decision, do not account for every factor a program considers, and should not be treated as a guarantee. Programs make their own decisions independently of CRI.

CASAA auto-fill uses Anthropic's model for document extraction, not for an admissions recommendation. Its output can be incomplete or incorrect and is presented in an editable form for you to review. A survey is submitted or a Discord post is published only when you take that separate action.

13. Retention and Deletion

In short: Different features need different clocks. CASAA PDFs are removed after processing, survey drafts expire after 14 days, unfinished bot drafts expire after about one day or as soon as you press Delete draft, and published bot drafts remain editable until Delete post removes both the Discord post and its saved draft. Account, shared, provider, payment, and security records may last longer.

  • Account and private planning data are generally retained while your account remains active
  • You may delete individual user-managed entries where the applicable tool provides that control
  • Account deletion removes the authentication user and account-linked records subject to provider, backup, legal, security, and transaction-record exceptions
  • Community, aggregate, and de-identified data may remain after deletion where it no longer identifies you or is needed to preserve shared context
  • A website CASAA application PDF is deleted from CRI storage after processing; a Discord CASAA attachment is not stored as a CRI file
  • An Accepted Applicant Survey browser draft expires after 14 days and uploaded files are never stored in that browser draft
  • An unposted Discord bot draft expires 24 hours after creation and is deleted by routine cleanup, and Delete draft on the panel removes it and its answers immediately, filled in or not
  • After publication, CRI keeps the form answers and Discord identifiers needed to edit or delete the post until Delete post removes both the Discord post and its CRI draft record
  • Discord publication-quota records contain a Discord user ID, draft ID, and short-lived timestamps but no post content or form answers; they are removed through routine cleanup after they stop affecting the rolling one-hour limit
  • A linked Discord identity remains on the authentication account until it is disconnected, the account is deleted, or the provider removes it, subject to provider, backup, legal, and security exceptions
  • Auto-fill usage records may remain for quota enforcement, security, troubleshooting, and cost accounting but contain no document contents or extracted fields
  • Acceptance letters, deposit receipts, and the name given with them are deleted when the submission is approved or rejected, and no later than 30 days after it is made
  • Infrastructure and analytics data follow provider settings and retention schedules

Deleting your CRI account is not a substitute for canceling a Stripe subscription. Cancel CRI Plus in Account Settings > Billing before deleting the account.

14. Your Data Controls

In short: What you can change yourself, and where: profile and email settings, tracker and saved entries, analytics consent, billing, and account deletion.

  • Update your display name, avatar, and email preferences in Account Settings
  • Delete or edit supported tracker, planning, and saved-result entries in the relevant tool
  • Disconnect Discord from the website and use the Discord bot to update or delete a supported published post
  • Change consent-based analytics through Cookie Preferences
  • Manage or cancel CRI Plus through Account Settings > Billing
  • Delete your CRI account through Account Settings
  • Request access, correction, deletion, or a portable copy by emailing team@criscore.org

We may verify your identity and apply exceptions required or allowed by law. For location-specific rights, response periods, and appeal information, see the Privacy Policy.

15. Security and Access

In short: We use HTTPS, database-level permissions, and access controls. Your private records are visible only to you, community views show only the stripped-down fields, and staff access is limited.

CRI uses HTTPS, server-side authorization, database row-level security, access controls, and other safeguards designed to protect account data. User-facing access is limited according to the feature: private records are restricted to their owner, sanitized community views expose only selected fields, and administrative access is limited to operating and protecting the Service.

No system is perfectly secure. Keep your login links and credentials private, use a secure device, and report suspected compromise to us promptly.

16. Permitted Use of CRI Analytics

In short: Our charts and data are for planning your own application. Do not scrape them, republish them, or sell them without asking us first.

CRI analytics, charts, program data, and findings are provided for personal, non-commercial application planning. You may not scrape, systematically extract, republish, sell, or redistribute substantial portions of them without written permission. Limited personal reference and uses that applicable law expressly permits are not restricted beyond what the law allows. See our Terms of Service.

17. Changes and Contact

In short: We update this page when features or rules change, and post a new date when we do. Email us with any questions.

We may update this policy as CRI features, vendors, data practices, or legal requirements change. We will post the revised version with an updated date and provide additional notice for material changes when required.

Questions, permission requests, and privacy requests may be sent to team@criscore.org.