Privacy Policy — BEAST — Making Life Elegant | Nextania Technologies Private Limited
✦
BEAST — Making Life Elegant
Nextania Technologies Private Limited
Privacy Policy
Legal Document

Privacy Policy

How Nextania Technologies Private Limited collects, uses, and protects your information when you use BEAST — Making Life Elegant.

Effective: 13 March 2026
Last Updated: 09 October 2026
Version 2.5.1
VERSION 2.5.1 · AT A GLANCE

What’s New in This Version — and What It Means for Your Privacy

Version 2.5.1 makes BEAST smaller, quieter, and more private. Every change below either collects less, shows less, or keeps more on your own device. Each one links to the section that explains it — with the actual source code.

ChangeWhat it means for you
Sign in with BEAST FocusBEAST now works for people who already use BEAST Focus (focus.nextania.in). You sign in once with your work email and a one-time code. No new account is ever created, and no key is pasted. Section 5C
Chrome profile email — pre-fill onlyThe new identity.email permission is used for one thing: to type your Chrome profile’s email into the sign-in box for you. It is never stored and never sent unless you choose to send yourself a code. Section 5C
✦ Delegate from GmailOne tap turns an email into a task for a colleague in BEAST Focus. Only the task you approve (280 characters at most) travels — never the email itself, never its addresses. Section 5D
Sidebar on Gmail onlyThe ✦ floating button now appears only in Gmail. Every other website stays clean. Section 5
No payments in the ExtensionThe Extension has no payment screens and no free trial. Plans are managed in BEAST Focus. The trial fingerprint is no longer created. Section 4
Features retiredThe Focus Grid planner, the Claudy companion on AI chat sites, and the YouTube comment assistant have been removed. These features no longer read or store anything.
✦
Our Promise, Unchanged
No advertising. No trackers. No data sales. No reading of your inbox in the background. Every byte BEAST handles is either something you chose to send, or something that stays on your own device.
01

Who We Are

🏛
Nextania Technologies Private Limited
Registered company incorporated under the Companies Act, 2013, India.
Developer and publisher of BEAST — Making Life Elegant.
Website: nextania.in  ·  Support: nextaniatechnologies@gmail.com

BEAST — Making Life Elegant (“BEAST”, “the Extension”, “we”, “us”, or “our”) is a Chrome browser extension developed and maintained by Nextania Technologies Private Limited. This Privacy Policy governs all data handling practices associated with the Extension and our related services.

By installing or using BEAST — Making Life Elegant, you agree to the practices described in this Privacy Policy. If you do not agree, please uninstall the Extension.

02

Scope of This Policy

This Privacy Policy applies to:

  • The BEAST — Making Life Elegant Chrome Extension (version 1.6.0 and above, including v2.0.0, v2.1.0, v2.2.0, v2.3.0, v2.4.0, v2.5.0, and v2.5.1)
  • Our backend infrastructure at architectx2.nextaniatechnologies.workers.dev and the BEAST Focus relay at beast-focus-relay.nextaniatechnologies.workers.dev, which signs you in and carries the tasks you delegate
  • Our website at nextania.in
  • Sign-in with your BEAST Focus account, through which the Extension receives your plan. Plans and payments themselves are managed in BEAST Focus at focus.nextania.in, not in the Extension.
  • The voice typing, AI Polish, Select-to-Slides, document analysis, and community features introduced in v2.1.0
  • The Focus Grid life-planner with its copilots, the Claudy prompt companion, Autopilot, reminders, sticky notes, and the multilingual wellness companion introduced in v2.2.0
  • The features introduced in v2.3.0: the Focus Grid Team copilot for task delegation, Gamify Education learning games, the YouTube watch-and-question quiz, the YouTube comment-assistant and reminder companions, Claudy’s ability to send an open Gmail message to your Focus Grid on your explicit click, and cosmetic refinements to the interface and icons
  • The features introduced in v2.4.0: Resume Studio (build a polished résumé from details you enter, with optional AI expansion of sparse entries); the Select-to-Slides deck engine now optionally illustrating slides with openly-licensed images from Wikimedia Commons and NASA; the Focus Grid Files evidence tracker and Agent-Crafted Checklists; the Field Helper Reminders drafts helper that inserts a message you composed into a Gmail compose box on your click; a permanent, privacy-positive coupling that binds one email to one license key to one BEAST ID so nothing need ever be re-collected; and refinements to input focus, notifications, and the interface
  • The changes in v2.5.0 and v2.5.1: sign-in with BEAST Focus by verified work email and one-time code (with the Chrome profile’s email offered as a pre-fill); ✦ Delegate, which turns a Gmail message into a task for a BEAST Focus colleague; the BEAST sidebar now appearing only in Gmail; and the retirement of the Focus Grid planner and its Team copilot, the Claudy companion, the YouTube comment assistant, the free trial, and all in-extension payment screens

This policy does not apply to third-party services we integrate with (such as OpenAI, Google, or Resend), which maintain their own privacy policies linked in Section 7.

03

What We Collect

We collect the minimum data necessary to provide the Extension’s features. The table below details every category of data we handle.

DataPurposeWhere StoredSent to Server?
Work email (BEAST Focus sign-in)Sending you a one-time sign-in code, and confirming the address already belongs to a BEAST Focus accountNot stored by BEASTYes — only when you tap “Send code”; the relay keeps only a hashed code for 10 minutes
Chrome profile email
identity.email permission
Pre-filling the sign-in box so you need not type your emailNot storedNo — it travels only if you choose to send a code to that address
Signed-in account
account reference, first name, masked email (e.g. me•••@company.com)
Greeting you by name and delegating as you; your BEAST ID works only in the background and is never shownLocal storageSent as a header to the BEAST Focus relay when you use Gmail delegation
License keyValidating your plan on every AI request; received from your BEAST Focus account at sign-inLocal storageYes — header on each AI call
Career profile
name, skills, goals, preferences
Powering Opportunity Radar job matchingLocal storageOnly when you click “Scan”
Tone & mode preferenceRemembering your preferred writing styleLocal storageNo
Delegated task
✦ Delegate · task text (280 characters at most), chosen colleague, optional due date & verifier
Placing a task you approve on a BEAST Focus colleague’s deskYour BEAST Focus accountYes — only when you tap “Delegate”
Email you delegate from
✦ Delegate · subject, sender name, body, addresses
Drafting the task, and suggesting the right colleagueNot storedOnly the text, only to our AI Worker, only to rephrase it (automatically when longer than 280 characters, or when you tap Rephrase). Addresses never leave your device.
BEAST Focus contacts
names & account references from your own BEAST Focus contacts
Letting you pick a colleague by nameLocal storage (names) · memory only (their email addresses)Read from your own BEAST Focus account; never sent anywhere else
Task lists in Gmail
tasks you sent & received, with status
Showing your Received and Sent tasks inside GmailLocal storageRead from your BEAST Focus account; cleared when you sign out
Learning-game topic
Gamify Education
Generating word puzzles, riddles, or word banks for classNot storedYes — processed and discarded
Wellness language preference
Aurelia companion
Showing gentle wellness phrases in your chosen languageLocal storageOnly a language name, only for a custom tongue you type
Radar scan resultsDisplaying your last scan without re-fetchingLocal storageNo
Text submitted via sidebar
email drafts, prompts, form descriptions
Processing your AI request and returning a resultNot storedYes — processed and discarded
Microphone audio
spoken words, voice typing
Transcribing your speech to text while you dictateNot storedYes — streamed while dictating, then discarded
Selected or focused field text
AI Polish & Select-to-Slides
Rephrasing your text or turning a passage into slidesNot storedYes — only when you click the action button
Uploaded documents
Analyzer / Demystify
Extracting and analysing the document you chooseNot storedYes — processed and discarded
Community post content
Godzilla Community
Sharing your post publicly under an anonymous codenameFirebase (temporary, public)Yes — shown publicly, auto-expires
Quiz session data
teacher’s questions, student names, scores
Facilitating live quiz/race sessions via BEAST QuizFirebase Firestore (temporary)Yes — deleted within seventy-five minutes
⚠️
Important — Text You Submit
When you use AI features, the text you type into BEAST is sent to our Cloudflare Worker for processing, passed to an AI model, and the result is returned to you. We do not store, log, or retain this text beyond the time needed to generate your response.
✅
BEAST Quiz — Automatic Data Deletion
Quiz session data is stored temporarily in Google Firebase Firestore solely to relay live session information between teacher and students. All data is permanently deleted through three independent mechanisms: immediately when the teacher downloads results, ends the race, or ends the session manually; automatically after seventy-five minutes via a client-side cleanup timer regardless of teacher action; and server-side auto-deletion enforced by Firebase TTL (Time-to-Live) policies set to seventy-five minutes. No quiz data is ever retained beyond the session. The actual deletion code and Firebase TTL implementation are published and verifiable in Section 7A of this policy.
🎤
Voice Typing — Audio Is Never Stored
When you use voice typing, microphone audio is captured only while you are actively dictating, streamed to our Cloudflare Worker for transcription, converted to text, and then immediately discarded. We never store, log, cache, or replay your audio — only the resulting text is returned to your screen, and only your token count is recorded. The full data journey is proven by source code in Section 5B.
✦
✦ Delegate — Only the Task You Approve Travels
When you delegate an email from Gmail, BEAST reads that one email only at the moment you tap ✦ Delegate, drafts a task of at most 280 characters, and shows it to you. Nothing leaves your browser until you tap Delegate — and then only the task text, the colleague you chose, and the optional due date and verifier. The email itself, its attachments, and its addresses are never sent to the BEAST Focus relay. The full data path is proven by source code in Section 5D.
🌐
Godzilla Community — Public by Design
Godzilla Community is the one BEAST feature where data is shared by intent: anything you choose to post is displayed publicly to other community members under an anonymous codename, never your email or real name. Posts are stored temporarily (about twenty-four hours) and then expire automatically. Please share only what you are comfortable showing publicly.
🔑
One Email, One Key, One Identity — By Design
BEAST binds one email address to one license key to one BEAST ID, permanently. When you renew or change your plan, credit is added to the same key — a new one is never minted, and your BEAST ID never changes. This is a privacy-positive choice: because your identity is stable, nothing needs to be re-collected, you never re-enter your key, and your teammates keep the same ID for you across reinstalls and new devices. We still keep no directory of users — BEAST IDs remain random codes shared only between people who already know each other.
04

What We Do Not Collect

✓
Our Firm Commitments
The following data is never collected, stored, or transmitted by BEAST — Making Life Elegant under any circumstances.
  • Your email content — We do not read, store, or scan your Gmail inbox. Email text is only processed when you explicitly press a BEAST action button, such as ✦ Delegate or Auto Compose.
  • Browsing history — We do not track which websites you visit.
  • Webpage content — We do not read, scrape, or transmit the content of any non-Gmail webpage you visit — except text you explicitly select, or place your cursor in, and then submit via a BEAST action button (such as AI Polish or Select-to-Slides). That text is processed on demand to fulfil your request and is never stored.
  • Keystrokes or form data — We do not log anything you type outside of BEAST’s own sidebar. Text you deliberately submit to a BEAST action — for example AI Polish, Select-to-Slides, or voice typing — is processed only at that moment and is never logged or stored. BEAST’s writing helpers never attach to password fields or one-time-code / OTP fields, as proven by code in Section 5G.
  • Cookies — We do not use cookies for tracking or analytics.
  • Personal financial data — The Extension contains no payment screens and never handles payments. Plans are purchased within BEAST Focus, where payment processing is handled entirely by Cashfree (INR) and PayPal (international/USD). We never see or store your card details.
  • Your Google account — BEAST does not use Google sign-in, OAuth, or any Google API to access your account, mail, contacts, or calendar. Its only identity call, chrome.identity.getProfileUserInfo, reads your Chrome profile’s email address solely to pre-fill the sign-in box; it is never stored, logged, or sent by itself (see Section 5C).
  • Student personal data beyond the session — Student names and registration numbers entered during BEAST Quiz are never retained beyond seventy-five minutes and are never used for any purpose other than the live quiz session.
  • A directory of users — BEAST keeps no searchable directory of people. When you delegate from Gmail, you choose only among your own BEAST Focus contacts — people you have already connected with in BEAST Focus — and the relay reveals a contact’s email address only to someone who already has that person as a contact.

No Trial, No Fingerprinting

From version 2.5.0, BEAST no longer offers a free trial and no longer creates any device fingerprint. Installing BEAST sends nothing to our servers: it simply opens the sign-in page.

Earlier versions created a one-way hash (SHA-256) of the IP address and browser user-agent, and, for email trials, a one-way hash of the email, solely to ensure one fair trial per person. These hashes are no longer created; any that remain from earlier versions are deleted automatically within 365 days of their creation, and were never sold, shared, or used for marketing.

05

Where BEAST Appears — and Why It Asks for Access to All Sites

From version 2.5.0, the BEAST sidebar and its floating button (✦) appear only in Gmail. On every other website BEAST is invisible and dormant, until you use one of the few features that are meant to help you wherever you are.

ℹ️
The Core Reason
Good ideas and reminders do not happen only inside Gmail. A passage you are reading can become a slide deck, a reminder you set should reach you on whichever tab you are using, and a lecture video can become a quiz. These few features need to be able to work on the page you are on — and they act only when you ask.

What BEAST Does Outside Gmail — Only When You Ask

  • Select-to-Slides — select a passage on any page, and a small button offers to turn it into a slide deck. Only the text you selected is sent, and only when you click.
  • Reminders — when a reminder you set is due, a friendly companion shows it on the tab you are using. The reminder lives only on your device.
  • Google Forms builder — when you ask BEAST in Gmail to draft a form, BEAST fills a new Google Form for you. It acts only on the form you asked it to build.
  • YouTube lecture reader — when a teacher asks BEAST Quiz to check a lecture video, BEAST reads that video’s transcript once (see Section 5F).
  • Wellness companion — on Google Search, a gentle wellness companion can show calming phrases. It is off by default and appears only if you switch it on.

What BEAST Does and Does Not Do on a Page

BEAST on a pageDoesDoes Not
Visual presenceIn Gmail, renders a small ✦ button at the edge of the screen. Elsewhere, shows nothing until you select text or a reminder is dueCover, obscure, or interact with page content
Data accessActivates features only on explicit user clickRead, scan, or transmit any page content
Page interactionOpens the BEAST sidebar (Gmail) or a feature’s own small panel when clickedModify, inject into, or interfere with the host page
Background activityNothing — completely dormant until you actRun scripts, make network requests, or track activity

The host_permissions: <all_urls> permission is required so that Select-to-Slides and your reminders can work on whichever site you are on, and so that the chrome.scripting API can restore BEAST into tabs that were already open when you installed or updated it. It is never used to read, collect, or transmit the content of the pages you visit. Every permission BEAST requests is explained in Section 5J.

05 — A

Gmail Automation — Zero Data Storage, Verified by Code

🔒
Our Absolute Commitment on Gmail
BEAST reads email content only when you explicitly press an action button. The text is processed in real-time and the AI response is returned directly to your screen. No email content is ever stored, logged, cached, or transmitted to any party other than the AI model for the sole purpose of generating your requested response. BEAST has never and will never integrate any advertising network, analytics tracker, or data monetisation layer. Our only revenue source is your direct subscription fee.

The Complete Data Journey — Proven by Source Code

We believe transparency earns trust. Below is the actual source code from both the BEAST Chrome Extension (content.js) and the Nextania Cloudflare Worker — the complete chain from the moment you click to the moment your AI response appears. You can verify every line.

① Extension — Reading the Email content.js · checkEmail() + triggerAutoReply()

When you open an email, BEAST reads the subject line, sender, and up to 800 characters of body text from the Gmail DOM — only if auto-reply is enabled or you click an action button. This text lives exclusively in the browser’s memory and is never written to any storage.

BEAST CHROME EXTENSION · content.js · EMAIL READING
// Reads email from Gmail DOM — on user action only.
// Text is held in browser memory. Never written to storage.
function checkEmail() {
  let emailBody = "";
  for (const s of ["div.a3s.aiL", "div[data-message-id] .ii.gt div"]) {
    const el = document.querySelector(s);
    if (el) { emailBody = el.innerText.trim().slice(0, 800); break; }
  }
  // Passed directly to callWorker() — never stored anywhere
  if (autoReply) triggerAutoReply(sender, subject, emailBody);
}

async function triggerAutoReply(sender, subject, body) {
  const sys = `You are an elite email assistant. Tone: ${tone}.
Write a reply. 3-5 sentences. Return ONLY the reply body.`;
  // Email text flows directly into callWorker() — no storage call
  currentDraft = await callWorker(sys,
    `From: ${sender}\nSubject: ${subject}\n\n${body}`);
  // currentDraft holds only the AI reply — displayed in sidebar
  render("draft", { mode: "reply", draft: currentDraft });
}

② Extension — Sending to Worker content.js · callWorker()

The email text is transmitted over HTTPS to our Cloudflare Worker — authenticated by your license key. No third-party service other than our Worker receives this data.

BEAST CHROME EXTENSION · content.js · callWorker()
async function callWorker(sys, usr, maxTokens = 1000) {
  // Sent over HTTPS — license key authenticates the request
  const r = await fetch(WORKER_URL, {
    method: "POST",
    headers: {
      "Content-Type":           "application/json",
      "X-Nextania-License-Key": licenseKey,
    },
    body: JSON.stringify({
      agent: "beast_mailer",
      request_payload: { model: "gpt-4.1-mini", input: sys + usr }
    })
  });
  const d = await r.json();
  // Returns only output_text — the AI reply. Nothing else.
  return (d.output_text || "").trim();
}

③ Worker — Processing and Discarding ArchitectX2 Worker · /architect/v1/job

The Worker receives the request, validates your license, passes the text to OpenAI’s API, and immediately returns the AI response. The only data written to storage is the token count deducted from your quota — never the email content.

NEXTANIA CLOUDFLARE WORKER · ArchitectX2 v4.1 · /architect/v1/job
// ① Validate license — reject if inactive or expired
const status = await env.LICENSE_KV.get(`license:${licenseKey}:status`);
if (status !== "active") return json({ error: "License inactive" }, 403);

// ② Extract text from request — held only in memory
const { model, input, temperature, max_output_tokens }
  = body?.request_payload || {};

// ③ Pass to OpenAI — text leaves our system here
const oa = await fetch("https://api.openai.com/v1/responses", {
  method: "POST",
  body: JSON.stringify({ model, input, temperature, max_output_tokens }),
});

// ④ Extract AI reply text
const output_text = extractOutputText(data);

// ⑤ Only token count is stored — NEVER the email content
const used = Number(data?.usage?.total_tokens || 0);
await env.LICENSE_KV.put(
  `license:${licenseKey}:base_tokens_remaining`,
  String(remaining - used)  // quota deduction only
);

// ⑥ Return AI reply — request object is garbage collected
return json({ ok: true, output_text });
ℹ️
What the Code Proves — Six Guarantees
① On-demand only — Email text is read from the Gmail DOM only when you open an email with auto-reply enabled or click an action button.
② Memory only — Email text exists solely in the browser’s JavaScript memory. No localStorage, no chrome.storage, no IndexedDB write ever occurs.
③ HTTPS encrypted — Text is transmitted to our Worker over TLS. No intermediate party can intercept it.
④ Worker discards immediately — The Worker holds the text only for the duration of the OpenAI API call. Once the response is returned, the request object is garbage-collected by the Cloudflare runtime.
⑤ Only quota is stored — The single KV.put() call in the entire job endpoint writes only the token count deduction — never the email text, never the AI response.
⑥ No ad networks, ever — There is no advertising SDK, analytics tracker, or data broker integration anywhere in the BEAST codebase. Nextania’s only revenue is your direct subscription fee.
✦
Nextania’s Firm Public Commitment
Nextania Technologies Private Limited hereby publicly commits that BEAST — Making Life Elegant has never and will never: display advertisements; integrate any advertising network or ad SDK; share user data with data brokers; use email content or browsing behaviour for profiling; or monetise user data in any form. This commitment is permanent and unconditional. Our business model is and will always remain direct subscription only.
05 — B

Voice Typing — Zero Audio Storage, Verified by Code

🎤
Our Absolute Commitment on Your Voice
BEAST captures microphone audio only while you are actively dictating — after you press the 🎤 and begin speaking. The audio is streamed to our Cloudflare Worker, transcribed into text, and the audio is then immediately and permanently discarded. No audio is ever stored, logged, cached, replayed, or transmitted to any party other than the transcription model for the sole purpose of converting your speech to text. Only the resulting text is returned to your screen, and only your token count is recorded against your quota.
🔑
Why BEAST Needs the Microphone & offscreen Permissions
Voice typing requires microphone access, requested through Chrome’s own permission prompt — so you grant it knowingly, and your browser shows a recording indicator whenever the mic is live. The offscreen permission lets BEAST hold this microphone access once, at the extension level, inside a dedicated offscreen document — so dictation works wherever BEAST offers it without each page prompting you separately. These are the narrowest permissions that make voice typing possible; they are used for nothing else.

The Complete Audio Journey — Proven by Source Code

As with Gmail, we show you the real path your voice takes — from the moment you speak to the moment text appears in your field. You can verify every line.

① Extension — Capturing & Releasing the Audio field-helper.js · offscreen.js

Audio is recorded into an in-memory blob only while you dictate. The instant you stop, the microphone is released, the audio is sent for transcription, and the blob is dropped — never written to localStorage, chrome.storage, IndexedDB, or disk.

BEAST CHROME EXTENSION · offscreen.js · AUDIO CAPTURE
// Mic opens ONLY when you press 🎤 and start dictating.
// Audio lives in memory as a Blob — never written to storage.
async function startDictation() {
  const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
  const rec = new MediaRecorder(stream);
  const chunks = [];
  rec.ondataavailable = e => chunks.push(e.data);

  rec.onstop = async () => {
    // Stop the mic immediately — the capture window is over
    stream.getTracks().forEach(t => t.stop());
    const audio = new Blob(chunks, { type: "audio/webm" });
    // Sent straight to our Worker for transcription — never saved
    const text = await sendToTranscribe(audio);
    insertAtCaret(text);  // text appears in your field; audio is dropped
  };
  rec.start();            // recording begins only on your explicit action
}

② Worker — Transcribing & Discarding ArchitectX2 Worker · /architect/v1/transcribe

The Worker validates your license, passes the audio to OpenAI’s Whisper model, returns the transcript, and writes only the token count to storage. The audio blob is never persisted and is garbage-collected the moment the request ends.

NEXTANIA CLOUDFLARE WORKER · ArchitectX2 v4.1 · /architect/v1/transcribe
// ① Validate license — reject if inactive or expired
const status = await env.LICENSE_KV.get(`license:${licenseKey}:status`);
if (status !== "active") return json({ error: "License inactive" }, 403);

// ② Receive the audio — held only in memory for this request
const form = await request.formData();
const audio = form.get("file");          // never written to KV or disk

// ③ Transcribe with OpenAI Whisper — audio leaves our system here
const fd = new FormData();
fd.append("model", "whisper-1");
fd.append("file", audio, "speech.webm");
const r = await fetch("https://api.openai.com/v1/audio/transcriptions", {
  method: "POST", body: fd,
});
const { text } = await r.json();         // the transcript only

// ④ Only the token count is stored — NEVER the audio or transcript
await env.LICENSE_KV.put(
  `license:${licenseKey}:base_tokens_remaining`,
  String(remaining - used)  // quota deduction only
);

// ⑤ Return the text — the audio Blob is garbage collected
return json({ ok: true, text });
ℹ️
What the Code Proves — Five Guarantees
① On-demand only — The microphone opens only after you press 🎤 and begin dictating, and closes the instant you stop.
② Memory only — Audio exists solely as an in-memory blob. No localStorage, chrome.storage, IndexedDB, or disk write ever occurs.
③ HTTPS encrypted — Audio is transmitted to our Worker over TLS; no intermediate party can intercept it.
④ Transcribe then discard — The Worker holds the audio only for the Whisper call. Neither the audio nor the transcript is written to storage; both are garbage-collected when the request ends.
⑤ Only quota is stored — The single KV.put() in the transcribe endpoint writes only the token-count deduction — never your voice, never the text.
05 — C

Sign-in with BEAST Focus — Your Work Email, Verified by Code

🔐
Who Can Use BEAST — and How Little It Asks
BEAST works for people who already use BEAST Focus, Nextania’s work-planning app at focus.nextania.in. You sign in once, with your work email and a six-digit code sent to it. BEAST never creates an account, never asks for a password, and never asks you to paste a key. If your email is not on BEAST Focus, BEAST gently invites you to sign up there — and stores nothing.
🔑
Why BEAST Requests the identity & identity.email Permissions
These two permissions let BEAST call chrome.identity.getProfileUserInfo once, on the sign-in page, to read the email address of the Chrome profile you are using — so that, if it is your work email, you need not type it. That is their only use. The address is placed in the sign-in box, where you can see and change it; it is never stored, never logged, and never sent unless you yourself tap “Send code”. BEAST does not use Google sign-in or OAuth, requests no Google account token, and has no access to your Gmail, contacts, or calendar through these permissions. If the profile is a personal one that is not on BEAST Focus, BEAST says so kindly and asks for your work email instead.

The Sign-in Journey — Proven by Source Code

Below is the actual code, from the Extension’s sign-in page (beast-welcome.js) and from the BEAST Focus relay (focus-relay-worker.js). You can verify every line.

① Pre-filling the Box — Read Once, Kept Nowhere beast-welcome.js · identity.email

When the sign-in page opens, BEAST asks Chrome for the profile’s email and writes it into the email box. It goes into no storage and no network request.

BEAST CHROME EXTENSION · beast-welcome.js · PROFILE EMAIL → PRE-FILL ONLY
// The Chrome profile's email, when Chrome shares it, fills the field.
// It is placed in the input box only: never stored, never sent by itself.
chrome.identity.getProfileUserInfo({ accountStatus: "ANY" }, (info) => {
  void chrome.runtime.lastError;
  const e = String((info && info.email) || "").trim().toLowerCase();
  if (e && validEmail(e) && !emailInput.value) {
    profileEmail = e; emailInput.value = e; show(fromProfile);
  }
});

② Asking for a Code — Only on Your Tap beast-welcome.js · requestCode()

Nothing is sent until you tap Send code. Then the address in the box — and nothing else — is sent over HTTPS to the BEAST Focus relay.

BEAST CHROME EXTENSION · beast-welcome.js · SEND CODE
// Runs only when YOU tap "Send code". The address in the box
// (which you may change) is the only thing sent.
sendBtn.addEventListener("click", requestCode);

const resp = await fetch(SEND_URL, {          // the BEAST Focus relay
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({ email }),
});

③ The Relay — Verifies, Never Creates focus-relay-worker.js · /v1/ext/login_send

The relay checks that the address is a verified BEAST Focus email. If it is, a six-digit code is emailed to it and kept only as a one-way hash for ten minutes, with five tries. If it is not, the relay answers with a sign-up link and stores nothing.

NEXTANIA CLOUDFLARE WORKER · focus-relay-worker.js · ONE-TIME CODE, HASHED
// An address that is not a verified BEAST Focus email is simply
// asked to sign up at focus.nextania.in. No account is ever made here.
if (!okRec || okRec.e !== e) {
  return json({ ok: false, signup: true, url: "https://focus.nextania.in" }, 404);
}
// The six-digit code is stored only as a one-way hash, and expires.
const code = g1aCode(), now = Date.now();
await g1aPut(env, "extlc:" + eh, JSON.stringify({ id: owner,
  h: await g1aHash(code + "|" + eh),           // hashed, never plain
  exp: now + G1A_CODE_SEC * 1000, n: 0, sent: now }), G1A_CODE_SEC + 300);

const G1A_CODE_SEC = 600;    // a code lives ten minutes
const G1A_TRIES = 5;         // and allows five tries
const G1A_RESEND_MS = 60000; // one new code a minute

④ Signed In — What Stays on Your Device beast-welcome.js · signIn() · popup.js · Sign out

With the right code, the relay returns your account reference, your first name, a masked email, and your plan’s licence key. BEAST keeps exactly these, in your browser’s local storage. Your BEAST ID works only in the background and is never shown. Sign out removes all of it at once.

BEAST CHROME EXTENSION · beast-welcome.js · LOCAL ACCOUNT ONLY
// After the correct code, BEAST keeps only this, on your own device:
const auth = { id: String(data.id), first: String(data.first || ""),
               email: String(data.email || ""),   // already masked: me•••@company.com
               at: Date.now() };
const payload = { licenseKey: key, isTrial: false, trialSubEndMs: 0, ptAuth: auth };
chrome.storage.local.set(payload, () => { /* … */ });
BEAST CHROME EXTENSION · popup.js · SIGN OUT REMOVES EVERYTHING
// Sign out removes the account, the key and every task list.
chrome.storage.local.remove(["licenseKey","isTrial","trialSubEndMs","ptAuth",
  "ptAccepted","ptReceived","ptSent","ptSeen","ptContacts"], () => { /* … */ });
ℹ️
What the Code Proves — Six Guarantees
① Pre-fill only — The Chrome profile email is written into the sign-in box and nowhere else; no storage call, no network call.
② Your tap, your address — An email is sent to the relay only when you tap “Send code”, and it is the address you see and can edit.
③ No account creation — The relay signs in only existing, verified BEAST Focus users; anyone else is invited to sign up at focus.nextania.in.
④ Hashed, short-lived codes — The code is stored only as a one-way hash, lives ten minutes, allows five tries, and is deleted once used.
⑤ Minimal on-device record — BEAST keeps an account reference, a first name, a masked email, and a licence key — in local storage only.
⑥ One-tap removal — Sign out deletes the account, the key, and every task list from your browser.
05 — D

✦ Delegate — From Gmail to BEAST Focus, Verified by Code

🤝
What ✦ Delegate Is — and Is Not
✦ Delegate lets you turn an email — one you received, are replying to, or are writing — into one clear task for a colleague on BEAST Focus, with an optional due date and an optional verifier. The task appears on their BEAST Focus desk, exactly as if you had assigned it in the BEAST Focus app, and you can follow its progress in Gmail. It is not a mail reader, and not a mail forwarder. BEAST reads the email only when you tap ✦ Delegate, shows you the task before anything is sent, and sends only the task you approve — never the email itself.

The Delegation Journey — Proven by Source Code

This is the one place where BEAST places your words on a server — in your own BEAST Focus account — so we show the exact code, including what is sent and what is not. The Extension code is in priority-tasks.js; the relay code is in focus-relay-worker.js.

① Reading the Email — Only on Your Tap priority-tasks.js · ✦ Delegate · openedSource()

The ✦ Delegate pill does nothing until you click it. Then BEAST reads the subject, the sender’s name, the latest message text, and the addresses on that one email, and opens a small card where you see and edit the task.

BEAST CHROME EXTENSION · priority-tasks.js · READ ON TAP, ONE EMAIL
// The ✦ Delegate pill sits beside Gmail's Send, Reply and Forward.
// The email is read only inside this click handler — never before.
b.addEventListener("click", (e) => {
  e.preventDefault(); e.stopPropagation();
  openCard(getSource());              // reads THIS email, now, once
});

function openedSource(bar) {          // the message Reply/Forward act on
  return {
    kind: "opened",
    subject: threadSubject(),
    from: sender ? (sender.getAttribute("name") || sender.textContent || "").trim() : "",
    body: last ? last.innerText.trim() : "",
    emails,                           // used on this device only (step ②)
  };
}

② Suggesting the Colleague — Matched on Your Device priority-tasks.js · relay /v1/guests

To pre-select the right person, BEAST compares the email’s addresses with the addresses of your own BEAST Focus contacts. The comparison happens in your browser; the email’s addresses are never sent. The relay returns a contact’s address only to someone who already has that person as a contact.

BEAST CHROME EXTENSION · priority-tasks.js · CONTACT ADDRESSES IN MEMORY ONLY
// Your own contacts' addresses, kept in memory only, to recognise
// the person on an email. They are compared here, on your device.
let contactEmails = {};   // { "melvin@x.com": "BEAST-…" }
return Promise.all(chunks.map((ch) => relay("/v1/guests", "POST", { ids: ch })))
NEXTANIA CLOUDFLARE WORKER · focus-relay-worker.js · /v1/guests · YOUR CONTACTS ONLY
// The fence: only the caller's OWN contacts, nothing beyond.
const raw = await env.TASKS.get("contacts:" + myId);
(JSON.parse(raw || "[]") || []).forEach(function (c) {
  if (c && c.id) mine[String(c.id).toUpperCase()] = 1;
});
for (const id of want) {
  if (!mine[id]) continue;            // not your contact: nothing returned
  const em = await addressOf(env, id);
  if (em) guests[id] = em;
}

③ Delegating — Only the Approved Task Travels priority-tasks.js · Delegate → relay /v1/send

When you tap Delegate, BEAST sends the task text you approved (280 characters at most), your first name, the colleague’s name, and the optional due date and verifier. Nothing else.

BEAST CHROME EXTENSION · priority-tasks.js · WHAT IS SENT — AND ONLY THAT
// Only when YOU tap "Delegate". Exactly this object travels:
const text = (taskEl.value || "").trim().slice(0, TASK_MAX);   // 280 at most
const task = { t: text, from: myName || "A teammate", workerName: toName };
if (dueAt && dueAt > Date.now()) task.dueAt = dueAt;           // optional
if (vId && vId !== to) { task.verifierId = vId; task.verifierName = vName; }
const res = await relay("/v1/send", "POST", { to, task });
// No email body, no subject, no addresses, no attachments.

④ Rephrasing — Processed, Then Discarded priority-tasks.js · rewriteAsTask() · ArchitectX2 Worker

A long email is condensed into one task by our AI Worker — the same path, with the same no-storage guarantees, as every BEAST writing feature (Section 5A). A short email is used as it is, unless you tap Rephrase.

BEAST CHROME EXTENSION · priority-tasks.js · REPHRASE ON NEED
// Rephrasing: the email's text goes to our AI Worker only when it
// is longer than 280 characters, or when you tap "Rephrase".
const usr = "SUBJECT: " + (src.subject || "") + "\nFROM: " + (src.from || "")
          + "\n\n" + String(src.body || "").slice(0, 6000);
const r = await fetch(WORKER, { method: "POST",
  headers: { "Content-Type": "application/json", "X-Nextania-License-Key": licenseKey },
  body: JSON.stringify({ agent: "beast_mailer", request_payload: { /* … */ } }) });
// Processed and discarded, exactly as in Section 5A.

⑤ Your Task Lists — Read-Only, in Step with BEAST Focus priority-tasks.js · /v1/inbox · Mark as done

The 📥 Tasks panel shows what you received and sent. It only reads your BEAST Focus account, never clears anything there, and reports Mark as done exactly as the BEAST Focus app does.

BEAST CHROME EXTENSION · priority-tasks.js · READ-ONLY INBOX · MARK AS DONE
// Received tasks are only READ from your BEAST Focus account.
relay("/v1/inbox", "GET").then((res) => { /* … */
  // Notices are read, never cleared: BEAST Focus clears its own.
});
// "Mark as done" tells BEAST Focus, as the BEAST Focus app itself does.
p = relay("/v1/respond", "POST", { taskId: t.taskId, action: "accept" })
  .then(() => relay("/v1/respond", "POST",
    { taskId: t.taskId, action: "done", fromId: t.fromId, t: t.t, byName: by }));
ℹ️
What the Code Proves — Six Guarantees
① On tap only — An email is read only inside the ✦ Delegate click handler; there is no timer, no scan, and no background reading of your inbox.
② You see it first — The task is shown to you, editable, before anything is delegated.
③ The task, not the email — Only the approved task text (280 characters at most), names, and optional due date and verifier are sent; never the body, subject, addresses, or attachments.
④ Addresses stay local — The email’s addresses are compared on your device; your contacts’ addresses are held in memory only, and only your own contacts’ are ever returned.
⑤ Read-only with BEAST Focus — The Gmail panel reads your BEAST Focus tasks and never clears or alters anything else there.
⑥ Gmail only — ✦ Delegate runs only on mail.google.com, in the top frame, and only for a signed-in BEAST Focus user.
✦
Minimal, Deliberate, Yours
A delegated task lives in your and your colleague’s BEAST Focus accounts, exactly like a task assigned in the BEAST Focus app — so you both can see it, follow it, and mark it done. It holds no email content, no addresses, and no attachments. There is no directory of users, and the relay never reveals anyone to someone who is not already their contact. This is delegation you control — not surveillance.
05 — E

Gamify Education — Zero Storage, Verified by Code

🎮
Learning Games That Store Nothing
The Gamify Education games — Find the Word, Who Am I?, Dumb Charades, and Random Association — take only the topic you type (for example “Quantum Physics”), send it to our AI Worker to generate puzzles, and show the result on screen. No topic, no generated content, and no game data is ever stored on any server. Everything lives only in the browser while the game is on screen, and disappears when you leave.

For the Random Association game, images of an everyday object and a topic are fetched from Wikimedia / Wikipedia’s public APIs to display side by side. Only the search word travels to Wikipedia; no personal data is involved, and nothing is stored.

BEAST CHROME EXTENSION · beast-quiz.js · GAMIFY — TOPIC IN, PUZZLES OUT, NOTHING STORED
// The teacher types a topic. It is sent to the AI Worker to
// generate puzzles. The result is rendered on screen only —
// there is no storage call anywhere in this path.
var prompt = buildPrompt(curGame, topic);
callWorker({ model: "gpt-4.1-mini", input: prompt })
  .then(function(raw) {
    var arr = parseJSONArray(raw);
    startStage(arr);   // shown on screen — never written to storage
  });
ℹ️
What the Code Proves
① Topic in, puzzles out — only the topic you type is sent, only to generate the game. ② No storage — there is no chrome.storage or server write in the game path; content lives in memory while you play. ③ Public images only — Random Association fetches images from Wikipedia’s public API using a search word, with no personal data and no storage.
05 — F

YouTube — Lecture Transcript Reader, Zero Storage

🎓
One Helper, Only on Request
From version 2.5.0, BEAST’s only helper on YouTube is the lecture transcript reader used by BEAST Quiz. The earlier comment-assistant companion has been retired. The reader does nothing on its own: it reads a video’s transcript only when a teacher asks BEAST Quiz to turn that lecture into questions. It never reads your viewing, your comments, or your history, and stores nothing on our servers.

The YouTube watch-and-question feature (BEAST Quiz · Watch) lets a teacher turn a lecture video into quiz questions. As with all BEAST AI features, the transcript text is processed on demand to generate questions and is not retained — and any resulting live quiz session follows the same strict deletion rules described in Section 7A (auto-deleted within seventy-five minutes by three independent mechanisms).

BEAST CHROME EXTENSION · yt-transcript.js · ON REQUEST ONLY, NO STORAGE
// Runs on youtube.com/watch, but does NOTHING on its own. It acts only
// when the BEAST Quiz teacher page asks it to check a lecture video.
chrome.runtime.onMessage.addListener((msg, _sender, sendResponse) => {
  if (msg && msg.type === "ytVerifyTranscript") {
    showAnalyzingToast();            // tells you what is happening
    verify().then((verdict) => { removeAnalyzingToast(); sendResponse(verdict); });
    return true;
  }
});
// The verdict goes back to the Quiz page only — nothing is stored:
// { ok:true, videoId, title, lang, auto, wordCount, text }
ℹ️
What the Code Proves
① On request only — the reader acts solely when the BEAST Quiz page asks, after a teacher pastes a lecture link and clicks Check. ② Visible — a small notice shows while it reads. ③ No storage — the transcript goes back to the Quiz page to generate questions and is never stored on our servers; your viewing activity is never read.
05 — G

Password & OTP Fields — Never Touched, Verified by Code

🛡️
BEAST Stays Away From Your Secrets
BEAST’s on-page writing helpers (the AI Polish, business-format, and voice-typing icons) attach only to ordinary writing fields. They are explicitly blocked from password fields, one-time-code (OTP) fields, two-factor codes, card numbers, CVV/CVC, and PIN fields. Your secrets are never read, never assisted, and never touched.
BEAST CHROME EXTENSION · field-helper.js · isEditable() — SENSITIVE FIELDS EXCLUDED
if (tag === "INPUT") {
  const t = (el.getAttribute("type") || "text").toLowerCase();
  if (t === "password") return false;   // never on passwords

  // Never on one-time-code / OTP / card / PIN fields
  const ac = (el.getAttribute("autocomplete") || "").toLowerCase();
  if (ac === "one-time-code" || ac === "cc-number" ||
      ac === "cc-csc") return false;

  const hint = (name + id + ariaLabel + placeholder).toLowerCase();
  if (/\b(otp|one-time|2fa|mfa|verification code|passcode|
        security code|auth code|cvv|cvc|pin)\b/.test(hint))
    return false;   // sensitive — BEAST stays away
}
ℹ️
What the Code Proves
① Passwords excluded — any type="password" field is rejected outright. ② OTP & codes excluded — fields marked as one-time-codes, or named like OTP / 2FA / verification / CVV / PIN, are rejected too. ③ Helpers appear only on ordinary writing fields — exactly where you would want writing assistance, and nowhere sensitive.
05 — H

Resume Studio — Built On Your Device, Verified by Code

📄
Your Résumé Details Stay With You
Resume Studio helps you build a polished résumé from details you enter — your name, education, experience, skills, and an optional photo. Everything you type is saved only on your own device as a single draft, and the finished document is generated in your browser and downloaded straight to your computer. The optional AI enhancement, which expands sparse entries into fuller phrasing, sends only the specific fields you choose to enhance — and never invents employers, titles, dates, or grades. Your photo never leaves your device; it is embedded locally into the document.
BEAST CHROME EXTENSION · resume-builder.js · LOCAL DRAFT + LOCAL DOCUMENT
// Your résumé draft is saved ONLY to your own device.
// There is no server call in the save or load path.
function saveDraft() {
  chrome.storage.local.set({ beastResumeDraft: JSON.stringify(model) });
}

// The .docx is assembled in your browser and downloaded to you.
// Your photo is embedded locally — it never leaves the device.
const blob = buildDocxBytes(model);   // built in-page
triggerDownload(blob);              // saved to your computer

// AI enhancement is OPTIONAL and sends only chosen fields,
// returning polished text — nothing is stored on our servers.
const improved = await callWorker(enhancePrompt, chosenText);
ℹ️
What the Code Proves
① Local draft — your entries are saved only to chrome.storage.local on your own device. ② Local document — the résumé file is generated in your browser and downloaded to you; the photo is embedded locally and never uploaded. ③ Optional AI, no storage — enhancement sends only the fields you choose, returns polished text, and stores nothing on our servers.
05 — I

Slide Images — Only Free, Legal Sources, Verified by Code

🎨
Images Come Only From Wikimedia Commons & NASA
When you turn a passage of text into a slide deck, BEAST may illustrate a slide with a relevant photograph. These images are fetched only from two openly-licensed public sources — Wikimedia Commons and NASA — using a short search word derived from the slide topic. No personal data is sent in these requests, and each image is credited on the slide with its author and licence. If no suitable free image is found, the slide simply stays text-only. BEAST never fetches images from any other source.
BEAST CHROME EXTENSION · pptx-lite.js · FREE-SOURCE IMAGE FETCH ONLY
// The ONLY two image endpoints BEAST ever calls.
// A search word travels — never any personal data.
const WIKIMEDIA = "https://commons.wikimedia.org/w/api.php";
const NASA      = "https://images-api.nasa.gov/search";

// Each image is credited on the slide with author + licence,
// captured from the source's own metadata.
return { url, source: author + " / " + license +
                       " · Wikimedia Commons" };

// If no free image is found, the slide stays text-only.
if (!meta) { slide.template = "textOnly"; }
ℹ️
What the Code Proves
① Two legal sources only — images are fetched solely from Wikimedia Commons and NASA, both openly licensed. ② No personal data — only a topic-derived search word is sent; nothing about you travels with the request. ③ Attributed & graceful — each image is credited with its author and licence, and slides fall back to text-only when no free image fits.
05 — J

Every Permission, Explained

BEAST requests only the permissions its features need, and uses each one only for the purpose below.

PermissionExactly what BEAST uses it for
storageKeeps your settings, your signed-in account, your licence key, your task lists, résumé draft, and reminders on your own device.
identity · identity.emailReads your Chrome profile’s email address once, on the sign-in page, only to pre-fill the sign-in box. Never stored, never sent by itself (Section 5C).
activeTabLets a BEAST action you start work on the tab you are looking at — for example, Select-to-Slides on the passage you selected.
tabsOpens BEAST’s own pages (sign-in, Resume Studio, Quiz and others) in a new tab, and tells open tabs when you sign in or out. BEAST does not record your browsing.
scriptingRestores BEAST into tabs that were already open when you installed or updated it, so you need not reload them.
alarmsWakes BEAST at the time of a reminder you set, and for the daily Opportunity Radar scan you switched on.
notificationsShows a reminder you set as a Chrome notification, so you never miss it.
offscreenHolds microphone access once, in a hidden extension page, so voice typing works without repeated prompts (Section 5B).
host access · <all_urls>Lets Select-to-Slides and your reminders work on whichever site you are on. Never used to read or collect the pages you visit (Section 5).
✓
What No Permission Is Used For
No permission is used to read your browsing history, to scan your inbox, to track you across sites, to show advertising, or to build a profile of you. BEAST requests no Google account token and no access to your Gmail, Drive, contacts, or calendar data through any Google API.
06

How We Use Your Data

Work Email, Account & License Key

Your BEAST Focus work email is used only to send you a one-time sign-in code. Your Chrome profile’s email is used only to pre-fill the sign-in box, and is never stored. Your license key, received from your BEAST Focus account at sign-in, is used only to validate your plan on each AI request. We do not send marketing emails without your explicit consent.

Career Profile Data

Stored locally on your device. Sent to our AI worker only when you click “Scan Opportunities Now.” Used solely to generate personalised job and opportunity matches. Never used for advertising or shared with third parties.

AI-Submitted Text

Text you type into BEAST’s sidebar is transmitted to our Cloudflare Worker, passed to the AI model, and the result is returned to you. This data is processed in real-time and is not stored, logged, or used for model training.

Voice Typing Audio

When you dictate, your microphone audio is streamed to our Cloudflare Worker, transcribed by OpenAI Whisper, and the audio is discarded the moment transcription completes. Only the resulting text is returned to your field. Audio is never stored, never used for profiling, and never used to train any model. See Section 5B for the source-code proof.

On-Page Text — AI Polish & Select-to-Slides

When you click AI Polish or Select-to-Slides, the specific text you selected or focused is sent to our Worker, processed by the AI model, and returned to you (a rephrased version, or a slide deck). This happens only on your explicit click, is processed in real-time, and is not stored, logged, or used for training. These helpers never attach to password or one-time-code fields (see Section 5G).

Wellness Companion

The wellness companion shows gentle phrases from a built-in local library; only when you type a custom mother tongue does a language name travel to our Worker to fetch fresh phrases, and no personal text is involved.

✦ Delegate — Task Delegation from Gmail

When you tap ✦ Delegate, BEAST reads that one email to draft a task for you. If the email is longer than 280 characters, or you tap Rephrase, its text is sent to our AI Worker to condense it, and is then discarded. When you tap Delegate, only the task you approved — with the colleague’s name, and the optional due date and verifier — is placed in your and your colleague’s BEAST Focus accounts, so you both can follow it. The email’s addresses are compared with your own BEAST Focus contacts on your device, and never sent. Full source-code proof is in Section 5D.

Gamify Education, YouTube & Reminders

The learning-game topic you type is sent to our Worker only to generate puzzles, and is never stored. The YouTube lecture reader acts only when BEAST Quiz asks it to check a video, and the reminder companion shows only reminders you set; neither stores anything on our servers. See Sections 5E and 5F.

Stock Tree — Educational, Historical Analysis Only

The Stock Tree examines the past factors that historically supported or suppressed a stock’s growth, purely for education and understanding. The stock name you enter is processed by our AI Worker to generate this historical analysis and is not stored. The Stock Tree does not predict future performance and is not financial, investment, or trading advice; any decisions you make remain your own.

Plans & Payments

The Extension has no free trial and no payment screens, and it never handles payment information. Your plan comes from your BEAST Focus account, where plans are purchased and managed at focus.nextania.in. Your work email is never sold, shared with data brokers, or used for marketing without your explicit consent.

We Never

  • Sell your data to any third party
  • Use your data for advertising
  • Share your data with data brokers
  • Use your data to train AI models
🛡️
No Advertising. No Trackers. No Data Sales. Ever.
BEAST — Making Life Elegant contains no advertising network, no ad SDK, no analytics tracker, no cookies, and no data-broker integration of any kind — not in the sidebar, not in Gmail delegation, not in the BEAST Focus relay, not in the games, not anywhere in the codebase. We do not profile you, we do not sell or share your data, and we never use your content to train AI models. Our only source of revenue is your direct subscription. This commitment is permanent and unconditional.
📜
Chrome Web Store — Limited Use Compliance
BEAST — Making Life Elegant’s collection and use of information received through the Extension, and from any Google APIs, adheres to the Chrome Web Store User Data Policy, including the Limited Use requirements. We use user data only to provide and improve the user-facing features described in this policy, and for no other purpose. In particular, the email address obtained through Chrome’s identity.email permission is used only to pre-fill the sign-in box; it is not stored, not transferred to anyone, not used for advertising, profiling, or creditworthiness, and never read by humans.
07

Third-Party Services

BEAST integrates with the following third-party services. Each has its own privacy policy governing their data handling.

ServicePurposeData Shared
Cloudflare WorkersAI request processing, license validation, BEAST Focus sign-in & Gmail task delegationLicense key, submitted text; work email for sign-in codes; approved task text, names & account references
OpenAIAI text generation (GPT-4.1 Mini)Submitted prompts only
OpenAI WhisperSpeech-to-text transcription for voice typingDictated audio only (transcribed, then discarded)
Google GeminiAI text generation (fallback)Submitted prompts only
Wikimedia Commons / WikipediaOpenly-licensed public images for Beast Tourism, Random Association & Select-to-Slides decksA search word only — no personal data, nothing stored
NASA Image LibraryPublic-domain images for space & science slide decks (Select-to-Slides)A search word only — no personal data, nothing stored
CashfreePayment processing for BEAST Focus plans (in BEAST Focus, not in the Extension)Email & payment details (handled directly by Cashfree)
PayPalInternational payment processing (USD) for BEAST Focus plansEmail & payment details (handled directly by PayPal)
ResendTransactional email — one-time sign-in codesYour work email address and the code
allorigins.win / corsproxy.ioLinkedIn profile proxy for Radar enrichmentLinkedIn URL (only when you provide it)
Google Firebase FirestoreReal-time relay for BEAST Quiz live sessionsTemporary quiz session data — auto-deleted within seventy-five minutes
07 — A

BEAST Quiz — Student Data & Privacy

🎓
BEAST Quiz — Student Data
Students who join a BEAST Quiz session enter only their name and registration number voluntarily to participate. No email address is collected. Students do not need a BEAST account or license key. Student data exists only for the duration of the live session and is permanently deleted the moment the session ends. No student data is shared with any third party or used for any purpose beyond the live session.

BEAST Quiz is designed with student privacy as a first principle. The session data flow is as follows:

  • Data entered: Student name and registration number only — entered voluntarily to join a live session. No email address is collected or stored.
  • Storage: Held temporarily in Google Firebase Firestore solely to relay real-time session information between teacher and students.
  • Deletion — Mechanism 1: Immediately and permanently deleted the moment the teacher downloads results (Quiz), ends the race (Race), or ends the Engage session — whichever comes first.
  • Deletion — Mechanism 2: Automatically deleted after seventy-five minutes via a client-side cleanup timer, regardless of teacher action.
  • Deletion — Mechanism 3: Firebase TTL (Time-to-Live) policy auto-deletes every session document server-side at exactly seventy-five minutes from creation — an independent server-enforced guarantee that operates even if the browser is closed.
  • No retention: No student data is retained, exported, logged, or used for any purpose beyond the live session.

Verified by Code — Our Deletion Implementation

In the spirit of full transparency, the following is the actual deletion function from BEAST Quiz and the TTL timestamp field — both verifiable in our published extension source:

BEAST QUIZ · beast-quiz.js · DATA DELETION
// Called on: teacher downloads results, ends race,
// ends session, or 75-minute auto-timer fires.
function deleteSessionData(sessionCode, raceCode, engageCode) {
  var ops = [];
  if (sessionCode) ops.push(deleteCollection("sessions", sessionCode));
  if (raceCode)    ops.push(deleteCollection("races",    raceCode));
  if (engageCode)  ops.push(deleteCollection("engage",   engageCode));
  return Promise.all(ops).catch(function() {});
}

// Every session document carries a server-enforced
// TTL timestamp — Firebase auto-deletes at 75 minutes.
expireAt: new FSTimestamp(new Date(Date.now() + 75 * 60 * 1000))
ℹ️
Three Independent Deletion Guarantees
① Teacher action — deleteSessionData() fires the moment the teacher downloads results, ends the race, or ends the session.
② Client timer — A seventy-five-minute JavaScript timer calls deleteSessionData() automatically, regardless of teacher action.
③ Firebase TTL — A server-side TTL policy deletes every document at the expireAt timestamp — seventy-five minutes from creation — even if the browser is closed or crashed.
08

Data Retention

DataRetention Period
Work email & planHeld by BEAST Focus as part of your account for as long as you use it, + 90 days for support purposes. The one-time sign-in code is kept only as a hash and expires in 10 minutes.
Chrome profile emailNot retained — read only to pre-fill the sign-in box
Signed-in account, license key & task lists on your deviceStored locally — removed when you sign out, uninstall the Extension, or clear browser data
Career profile & preferencesStored locally — deleted when you uninstall the Extension or clear browser data
Resume Studio draft & photoStored locally on your device — kept until you clear it, uninstall the Extension, or clear browser data; the generated document and photo are never uploaded to our servers
Delegated tasks
✦ Delegate · approved task text & names
Kept in your and your colleague’s BEAST Focus accounts, like any BEAST Focus task: records left untouched for 60 days are removed automatically, and task history is kept for at most 365 days. Deleted on request.
Email you delegate fromNot retained — read on your tap; if rephrased, processed in real-time and discarded
Wellness language preferenceStored locally — deleted when you uninstall the Extension or clear browser data
Trial fingerprint & trial email hashes
versions before 2.5.0
No longer created. Any remaining from earlier versions are deleted automatically within 365 days of their creation.
AI-submitted textNot retained — processed in real-time and discarded immediately
Learning-game topic
Gamify Education
Not retained — processed to generate puzzles, then discarded; nothing stored on our servers
Voice typing audioNot retained — transcribed in real-time and discarded immediately
Uploaded documents
Analyzer / Demystify
Not retained — extracted and processed in real-time, then discarded
Community posts
Godzilla Community
Stored temporarily (about twenty-four hours) and shown publicly, then auto-expired
Quiz session data
questions, student names, scores
Deleted immediately when teacher downloads results or ends session — maximum seventy-five minutes enforced by both client-side timer and Firebase TTL server-side policy

You may request deletion of your email and license data at any time by contacting nextaniatechnologies@gmail.com. We will action deletion requests within 30 days.

09

Security

We implement industry-standard security measures to protect your data:

  • All data in transit is encrypted via HTTPS/TLS
  • License keys are validated via HMAC-signed request headers
  • No sensitive data is stored in plaintext
  • Our worker runs on Cloudflare’s enterprise-grade infrastructure
  • Sign-in codes are one-time, stored only as one-way hashes, expire in ten minutes, allow five tries, and are rate-limited per address and per network
  • Payment data never touches the Extension or our servers — BEAST Focus payments are handled by Cashfree’s and PayPal’s PCI-DSS compliant systems

If you believe you have discovered a security vulnerability, please contact us immediately at nextaniatechnologies@gmail.com.

10

Your Rights

Regardless of your location, you have the following rights with respect to your personal data:

Access

You may request a copy of the personal data we hold about you (your work email, license key, and the tasks you delegated).

Correction

You may request correction of inaccurate data at any time.

Deletion

You may request deletion of your account data. Local data (career profile, preferences, your signed-in account and task lists) can be deleted at once with Sign out in the BEAST popup, by uninstalling the Extension, or by clearing Chrome’s extension storage.

Portability

You may request your data in a portable, machine-readable format.

Opt-Out of Communications

You may opt out of non-essential communications at any time by emailing us.

To exercise any of these rights, contact nextaniatechnologies@gmail.com. We respond within 30 days.

11

Children’s Privacy

BEAST — Making Life Elegant is not directed at children under the age of 13. We do not knowingly collect personal information from children under 13. If you believe a child has provided us with personal information, please contact us at nextaniatechnologies@gmail.com, and we will delete it promptly.

BEAST Quiz is used by teachers in classrooms. Students who join a quiz enter only a name and registration number, need no account, and their session data is deleted within seventy-five minutes, as described in Section 7A.

12

Changes to This Policy

We may update this Privacy Policy as BEAST evolves. When we do, we will revise the “Last Updated” date and version at the top of this page, and describe what changed — as we have done in What’s New in 2.5.1. If a change would use your data in a materially different way, we will tell you within the Extension before it takes effect, and ask for your consent where the law or the Chrome Web Store requires it.

Continuing to use BEAST after an update means you accept the revised policy. If you do not agree, you may sign out and uninstall the Extension at any time.

13

Contact Us

For any question about this Privacy Policy, your data, or a deletion request, please write to us. We respond within 30 days.

Company
Nextania Technologies Private Limited
Incorporated under the Companies Act, 2013, India