Pragyan

Privacy Policy

Effective September 23, 2026Last updated September 23, 2026

Questions: support@pragyan.caTerms of Service

Who we are

This policy describes how Pragyan (“we”, “us”) handles information when you use the service at www.pragyan.ca. The API is served from api.pragyan.ca. This policy is published at https://www.pragyan.ca/privacy. The Terms of Service are at https://www.pragyan.ca/terms. The same pages are on preview deployments at /privacy and /terms, and they do not require you to be signed in.

Privacy questions, Google access questions, and deletion requests: support@pragyan.ca.

The legal name and postal address of the operator are not published in the product yet. Use the email above to reach us.

What Pragyan does

Depending on your account and on which parts of the service are turned on, Pragyan can:

  • Answer asks you type, and keep those asks and replies
  • Read Gmail metadata you authorize (subjects and senders) and store a short summary
  • Read Calendar events you authorize, without creating or editing them
  • Send Telegram notices to a chat you connect
  • Watch website addresses you list and notice when a page changes
  • Show weather for a location you save
  • Offer Tutor, skills, and Job Assistant when Growth is enabled
  • Answer Help & Support chat, and open an incident number when one is needed

Gmail send, draft, label, archive, trash, and modify are not enabled. We do not ask Google for those scopes. Calendar create, edit, and delete are not requested; a change stays a proposal. Features can be off in a given environment. We do not promise that every integration is live everywhere.

Information we collect and why

Account and sign-in (Clerk). Sign-in is handled by Clerk. We store your Clerk user id, email, name if you provide one, plan, trial end, and account status so we can sign you in and keep your workspace separate from other people.

Google as a sign-in method, if you choose it. If Google is offered on the sign-in screen, Clerk receives the Google account email and the basic profile Google shares for that sign-in (typically name, email, and a profile image). That sign-in does not give Pragyan access to Gmail or Calendar. Mail and calendar are read only if you connect them under Connections. The scopes for Clerk’s Google button are set in Clerk, not in Pragyan’s Gmail and Calendar authorize URLs.

Assistant profile. Name, personality, response style, timezone, language, and preferred assistant, so replies match how you asked us to sound.

Asks and tasks. The text you send, replies we return, and task status.

Help & Support. Chat messages, incident numbers (INC-#######), and optional feedback. Email support inside the product can open the same kind of incident when that channel is enabled. The API refuses that inbound email channel when the server is running as production. Replies stay in Help; we do not send support replies from your Gmail connection.

Support voice. Where the microphone control is shown, a short clip is sent once for transcription. The audio file is not saved. The transcript becomes the support message. Help shows the microphone only when that site is built with the voice flag on. The API still refuses voice when the server is running as production, even if a server flag is set.

Location and weather. If you set a place in Settings, we store a label and coordinates. Weather is read from Open-Meteo for that place. You can type a place instead of using the browser’s location prompt.

Telegram, if you connect it. An encrypted chat identifier for the chat you connect, so notices can be delivered there. The bot credential stays on our servers. You do not paste a bot token.

Website monitoring. Addresses you add, a hash used to detect change, and check times. We fetch those pages on a schedule and may store a short notice when a change is found.

Learning, when Growth is enabled. Optional learner context: an age band (ages 8–12, ages 13–17, or 18+), a grade label, whether you marked yourself as an adult, a job you are aiming for, language, and a short self-description. We do not ask for a date of birth. We also store practice text, tutor turns, skill measurements, evaluations, and job targets (role, company, notes) that you enter. See Children below.

Speaking audio, where recording is allowed. A private audio file is uploaded so it can be transcribed. The file is deleted after processing or if it is abandoned. The transcript and the review stay. The API refuses speaking uploads when the server is running as production.

Logs. Operational logs and an audit trail of external actions (connect, disconnect, Gmail read outcome, proposed calendar actions). Logs are written without OAuth tokens, API keys, or raw email bodies.

Google User Data

This section describes Google user data that Pragyan receives when you connect Gmail or Calendar. It is separate from using Google only to sign in.

Connecting is optional. For Gmail we request only:

  • https://www.googleapis.com/auth/gmail.readonly (restricted) — read mail metadata the product uses for summaries
  • openid and email — identify the Google account on the connection

For Calendar we request only:

  • https://www.googleapis.com/auth/calendar.events.readonly (sensitive) — list events
  • openid and email

We do not request gmail.send, gmail.compose, gmail.modify, or the Calendar write scope calendar.events.

What we read from Gmail. When a summary or Job suggestion runs, we ask Google for message metadata: Subject and From. If a message has no subject, we may use Google’s snippet, cut off at 200 characters, as the subject line. We do not request the full message body, and we do not keep a mailbox archive. We store a short subject list in an in-app notice and in Attention. If you confirm a Job evidence card, we store that subject and a message id, not the body.

What we read from Calendar. We list events on the primary calendar. Attention uses title, start, end, status, and location when Google includes it. Job suggestions ask only for id, title, start, end, and status, for about the next 14 days. We do not create, edit, or delete events.

Tokens. Access and refresh tokens, and the Google account email used as a label, are encrypted on the server. They are not shown in the app and are not returned to the browser.

Why. Google user data from Gmail and Google Calendar is used only for email and calendar maintenance features you enable. Those features are connection status, read-only mail summaries, Attention items from that mail and those events, and optional Job evidence suggestions drawn from the same fields: assistant help on the Gmail and Calendar connections you turned on. That data is not used for other product features.

The scheduled mail summary is built on our servers from those subject lines. That job does not send the mail to an AI service. When AI processes Gmail or Calendar content, it does so only for those email and calendar maintenance features. The server sends minimized fields only: Gmail sender and subject, and a short snippet only when the subject is missing; Calendar id, title, start, end, and status. The request goes through our AI router and the Vercel AI Gateway on the path reserved for Google-classified data. That path is fail-closed. The call is blocked unless the approved route is Google Gemini. OpenAI, Anthropic, and other model providers do not receive Gmail or Calendar content for those flows.

The gate stays closed unless operators allow Gemini for this use and attest that region, retention, and no-training terms were reviewed. Until then, that content is not sent to any model. Those switches are operator attestations. This policy does not say the review has been done, and it is not a finding that a vendor meets a law. If you paste mailbox text into an ask yourself, that text is treated as something you submitted, described under AI processing.

Limited Use practices:

  • We do not sell Google user data.
  • We do not use Google user data for advertising, including personalized, retargeted, or interest-based ads.
  • We do not use Google user data to decide creditworthiness or for our own model training. We do not run a training program on customer content. See AI processing for what is sent to the AI gateway, and for what we cannot promise about that vendor.
  • People can read Google user data only when it is needed for security, to investigate abuse, or to handle support you requested. Access is limited to that purpose. It is not used to advertise or to sell data.
  • We transfer Google user data only to run these features, for security, to comply with law, or as part of a merger or sale of the service with notice. Processors are listed under How we share.

Pragyan’s use and transfer to any other app of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements. This policy describes our practices. It is not a claim that Google has verified the app or that a security assessment is complete.

AI processing

Generated replies are produced through the Vercel AI Gateway. Pragyan chooses a configured model tier first (economical, standard, or frontier). The gateway sends that model id. It does not pick a different provider for the request. The app sends the system instructions and the user message for that request. Which model id is used is set in server configuration, not chosen in the app, and is not shown to you.

That path is used for asks, Tutor turns, Job writing, evaluation narratives, and Help replies.

Speech-to-text, when a recording is accepted, is also sent to the gateway’s transcription endpoint. If operators have not set a speech model, the default model id in code is openai/whisper-1. Support voice audio is not stored after that request. Learning audio is deleted after transcription as described above.

We do not have a setting in this product that proves the gateway, or a model behind it, never stores prompts or never uses them to train. We do not claim that. We send only the content needed for the feature you used. Gmail and Calendar content is not sent on the ordinary ask, Tutor, Job writing, or Help path. When AI handles that Google data, it is sent only through the fail-closed gate described under Google User Data, only as the minimized fields listed there, and only to Google Gemini. Other model providers are not given that content. We do not use Google user data to train our own models.

Replies can be wrong or incomplete. Do not use them as the only basis for a legal, medical, financial, or safety decision.

Credits and billing

We keep a credit ledger: trial credits, monthly allocation, rollover, and top-up lots when those exist. Credits are spent in that order. New accounts receive a 30-day trial with 500 credits. Trial credits expire at the end of the trial. The trial plan does not roll unused credits into a later period.

Paid plans in the catalog are Basic, Pro, and Premium. Each has a monthly credit amount, a rollover cap, and a price in US dollars. Rollover lots on those plans expire after the number of days configured for the plan (90 days in the default catalog). Operators can change plan numbers in configuration. The in-app plan list is the source of the amounts you see.

An access code, when you have one, can grant one month of a plan’s monthly credits without a card charge. The code is single-use.

Card checkout uses Stripe only when billing is turned on for that environment. We do not store full card numbers. Paid checkout may be paused. Help & Support does not spend credits. Credits are not cash and are not transferable.

How we share information

We share data with processors only as needed to run the product:

  • Clerk, for sign-in and session, including Google sign-in if you choose it
  • Google, when you connect Gmail or Calendar
  • Vercel, for the website, and Vercel AI Gateway, for generation and transcription
  • The API and worker host, the database, Redis for background jobs, and private file storage for temporary learning audio
  • Stripe, if you start a paid subscription when billing is enabled
  • Telegram, if you connect a chat and we send a notice you configured
  • Open-Meteo, if you save a location and we request a forecast
  • The website you asked us to watch, when the monitor fetches that page

We may disclose information if required by law or to protect the service and its users. We do not sell personal data.

Cookies

When sign-in is configured, Clerk stores a session cookie so you can stay signed in. That cookie is part of authentication. We do not run an advertising or product-analytics tracker, and we do not use a separate cookie banner. There is no separate cookie policy because we have not added non-essential tracking cookies.

If you use the browser location prompt in Settings, that is a browser permission, not a tracking cookie.

Storage and security

OAuth tokens for Gmail and Calendar are encrypted on the server. Telegram chat identifiers are encrypted. Credentials are not displayed on Connections. Learning audio, when accepted, is stored in a private bucket and is not given a public URL. Accounts are separated by user. We use HTTPS in transit.

This policy does not claim a third-party audit, a security certification, or a Google verification badge.

Retention

We keep account, profile, ask, credit, support, learning, and notice data while your account is open, except where a shorter rule below applies. We have not set one retention period for every table. A deletion request is how you ask us to remove what we still hold.

These limits are implemented:

  • Encrypted Google and Telegram credentials are kept while that connection is active
  • Trial credit lots expire when the 30-day trial ends
  • Paid rollover lots expire after the plan’s rollover period (90 days in the default catalog)
  • Temporary learning audio is deleted after transcription, or if it is abandoned (about 24 hours for an upload that was never submitted)
  • Support voice audio is not written to storage

Disconnecting Gmail or Calendar asks Google to revoke the token and then clears stored credentials even if Google’s revoke call fails. Subject summaries and Attention items already saved can remain until you dismiss them or we process a deletion request. Removing a website monitor removes that watch. Hiding or deleting an evaluation in the app marks it inactive; the row can be restored and is not immediately purged.

We may keep a limited record where we need it for security, billing, or law, such as a credit transaction or an audit event that does not contain mailbox contents.

Revoke access, disconnect Google, and delete your account

You can do the following yourself:

  • Disconnect Gmail or Calendar under Connections. Confirm the disconnect. We then revoke the Google token when Google accepts it and clear the encrypted tokens. Telegram disconnect clears the stored chat id.
  • Revoke Pragyan in your Google Account permissions. That stops new API access from Google’s side. Also disconnect in the app so we can delete stored tokens. Revoking Google sign-in is separate from disconnecting Gmail or Calendar.
  • Remove website monitors you added, and edit assistant profile and location in the app.
  • Sign out from Settings. That ends the session. It does not delete the account.

The app does not offer a one-click export of all stored data or a self-serve button that erases the account. To ask us to delete the account and the personal data we store (including Google tokens, derived summaries, learning records, and support conversations), email support@pragyan.ca or use Request account deletion in Settings. We will disconnect Google connections we still hold and delete or de-identify account data we control, except records we must keep for security, billing, or law. We do not publish a fixed number of days for that work.

Children

Signup does not ask your age and does not include a parent or guardian consent step. When Growth is enabled, the learner profile can store an optional age band that includes ages 8–12. That band is context for practice targets. It is not a date of birth, and choosing it is not a parental consent record.

We have not completed a children’s-privacy review, and we do not claim that the service is approved for children. If you are a parent or guardian and believe a child under 13 is using Pragyan, email support@pragyan.ca and we will delete the account we can identify from that request.

Changes

We may update this policy. The effective date and the “Last updated” date at the top will change. The current policy lives at https://www.pragyan.ca/privacy.

Contact

Privacy questions, Google user data questions, access revocation help, and deletion requests: support@pragyan.ca.

Related terms: Terms of Service.