Nexus 360 Academy
Last updated 08/28/2026.
Salesforce, Data Cloud, Data 360, Trailhead, Einstein, and Agentforce are trademarks of Salesforce, Inc.
Nexus 360 Academy is an independent study product. It is not affiliated with, endorsed by, sponsored by, certified by, or otherwise connected to Salesforce, Inc. or any of its subsidiaries or affiliates.
Those trademarks appear on this site only to name the subject the product teaches, which is what trademark law calls nominative use. No Salesforce logo, wordmark styling, brand color, product screenshot, or other Salesforce brand asset is used here, and none of the artwork, typography, or color in this product is drawn from Salesforce brand material.
Nexus 360 Academy does not reproduce official exam content. Every scenario, mission, practice item, distractor, explanation, and piece of feedback in this product was written independently for it. Nothing here is copied, transcribed, reconstructed, or paraphrased from a live Salesforce examination, from a proctored test form, from Trailhead, or from any other Salesforce material. Sitting an official exam requires agreeing to Salesforce's own terms, and nothing on this site changes those terms or grants any right under them.
Salesforce alone decides who holds a Salesforce credential. This product cannot award, confer, or influence one.
Nexus 360 Academy is a practice environment. It does not promise, predict, or guarantee a passing score, a certification, a credential, a job, a salary, or a timeline. Any readiness signal shown inside the product describes what you have demonstrated inside this product, on this product's own material, and nothing more. Exam content, scoring, and passing standards are set by Salesforce and can change at any time without notice to us.
By using Nexus 360 Academy (the "Service"), you agree to these terms. If you do not agree, please do not use the Service.
Your access is a personal, non-exclusive, non-transferable, revocable permission to use the Service for your own study. You may work through the districts, replay them, and take notes for yourself.
The Service, including its code, curriculum, missions, districts, practice items, artwork, audio, and copy, is the property of Christine Fryar and is protected by copyright. It is not open source. See the LICENSE file distributed with the software. Third-party trademarks named anywhere in the Service remain the property of their owners.
The Service teaches concepts by simulation. It is not professional, architectural, legal, security, or compliance advice, and it must not be used as the basis for a decision about a real production system or a real person's data. Always verify against current official Salesforce documentation before acting.
The Service is offered as it is, and it may change. Content can be added, revised, or removed as the underlying certification changes. There is no guarantee of uninterrupted availability. Because your progress is stored only in your own browser (see Section 3), clearing your browser's site data will end a run in progress, and we cannot restore it.
The Service is provided "as is" and "as available", without warranty of any kind, express or implied, including merchantability, fitness for a particular purpose, and non-infringement. To the fullest extent permitted by law, Christine Fryar is not liable for any indirect, incidental, special, consequential, or punitive damages, or for any loss of data, exam result, opportunity, or profit, arising from your use of the Service. Nothing in these terms limits liability that cannot lawfully be limited.
Access may be suspended or ended for a breach of these terms. Sections 2.3, 2.6, and 1 survive the end of your access.
These terms are governed by the laws of the United States and of the state in which the copyright holder resides, without regard to conflict-of-law rules.
Questions about these terms: biochristy@gmail.com.
There is no account, and your saved run stays on your device. Nexus 360 Academy has no sign-up and no server-side profile. Your progress, meaning the screen you are on and every configuration you have built, is saved in your own browser's local storage and is never uploaded. What the Service does send, and the switch that stops it, are in section 3.2.
The Service does measure usage. It records which screens you reach and which mission decisions you commit, so we can continuously improve your learning experience, and it sends those events to this site's own server. They carry no name, no email, and nothing you typed. Since 09/10/2026 it also uses Microsoft Clarity, a session recorder, which captures how a visit unfolds on screen and sends it to Microsoft. Section 3.2 says exactly what is recorded and gives you one button that turns all of it off.
The Service writes six entries to your browser's localStorage,
which is storage that belongs to your browser on your device.
| Key | What it holds | Where it lives |
|---|---|---|
nexus-360-academy:save |
Your run: which screen you are on, the configurations you have built, your evidence and misconception history, and your certification-mode progress. | Your browser only |
nexus-360-academy:learner-id |
A random string this browser makes for itself the first time
you visit, such as nexus-4f2a9c1e. It is a label
for this browser and nothing else. It is not derived from you,
your device, or anything you typed, and it is never matched to
a person.
|
Your browser, and on usage events (section 3.2) |
nexus360.audio.muted |
Whether you muted the sound. | Your browser only |
nexus360.telemetry.consent |
Whether you have turned usage measurement off. Set by the button in section 3.2, which is the only control that writes it. Until you use that button this key is absent, and an absent key means measurement is on. | Your browser only |
nexus360.telemetry.queue |
Usage events waiting to be sent, so closing the tab mid-mission does not lose them. It holds at most 200 events, discarding the oldest, and each one is emptied out once it has been sent. Turning measurement off deletes this entry. | Your browser, then sent (section 3.2) |
nexus360.bugReports.pending |
Up to five bug reports you wrote that could not be delivered yet, held so they are not lost. Removed once they go through. | Your browser, then sent (section 3.4) |
One more entry is written by the Microsoft Clarity recorder described
in section 3.2, and not by the Service: _cltk, in your
browser's sessionStorage, which lasts only as long as
the tab is open. It is Clarity's tab-scoped identifier for the
recording. It is not written when measurement is turned off, because
the recorder does not load then. Clarity writes nothing to
localStorage.
None of these entries contains your name, your email address, or any other identifier you gave us, because the Service never asks for one.
Because this storage is local, it is per-browser and per-device. Using a different browser, a different computer, or a private window means starting over, and clearing your site data erases the save. We cannot recover it, because we never had a copy.
There is no advertising in this and no ad network. The Service
measures itself in two places, and since 09/10/2026 it also uses one
outside recorder, Microsoft Clarity, described at the end of this
section. First, what the Service records on its own. It records
five kinds of event and sends them to a small function running on
this site's own hosting. Since 09/05/2026 it also writes one row per
mission to a database we run on Supabase, in the United States: which
mission, when it started and ended, whether you finished it, your
screen size, and for each attempt whether it was right. Since
09/08/2026 it writes one more row to that same database (recorded
under the name certification_form_submitted), and only
when you press Submit on a certification practice form: which form it
was, how many questions counted toward the score, how many you
answered correctly, how many unscored pilot questions you were shown,
how many critical misconceptions your answers matched, and the
readiness wording the app then shows you. It carries none of your
answers and none of the questions. Every one of these rows carries no
name, no email and no account, only a random id this browser
generated the first time it ran. Supabase hosts that database rather
than analysing it.
Since 09/10/2026 the Service also uses Microsoft Clarity, a
session recorder made by Microsoft. Clarity records how a
visit unfolds: the screens you move through, where the pointer goes,
where you click and how far you scroll, and it can play that back to
us as a recording and combine many visits into a heatmap. It sends
this to Microsoft's servers, not to ours, and Microsoft processes it
under its own
privacy
statement. Text you type into a field is masked before it leaves
your browser. We load Clarity with its cookie storage switched off,
so it sets no cookie on this site and cannot recognise you on a later
visit; each visit is a fresh recording. Microsoft does set cookies on
its own domains (clarity.ms and bing.com)
while the recorder is loaded, and your browser's third-party cookie
setting governs those, not us. The switch below stops Clarity from
loading at all, the same as it stops everything else in this section,
and the recorder never loads on our own machines.
| Event | When it happens | What it carries |
|---|---|---|
session_started |
You load the game. | The page path you arrived on, with any query string and fragment removed. |
screen_viewed |
You move to a screen. | The screen id and the mission id, such as V3 and juniper-trail-v1. |
action_committed |
You commit a solution. | The screen id, the mission id, and an attempt id. |
misconception_flagged |
The simulation detects one of the wrong answers the mission was written to teach against. | The misconception id and the screen id. |
app_error |
The game hits a JavaScript error. | The browser's own error text, cut off at 120 characters, the page path, and whether the failure was a thrown error or an unhandled promise rejection (one of those two words, nothing else). The error text is the one field here that is not an id or a fixed keyword, which is why it is named this precisely. |
account_code_requested |
You ask for a sign-in code. | Whether the code was sent, refused for asking too often, or failed. One of those three words, nothing else. Your email address is not recorded here. |
account_signed_in |
Your code is accepted. | Whether this device was newly linked to your account. True or false. No address, no name. |
account_signed_out |
You sign out. | Nothing beyond the fact that it happened. |
account_sync |
Your progress is compared with the copy saved to your account. | What the comparison decided (whether a saved copy was found, merged, or declined because it came from a newer version of the game), and whether anything was uploaded. One of a fixed set of words, plus true or false. |
Every event also carries the random browser id from section 3.1, a session id that lasts one page load, and the time it happened. No other field is transmitted: the code keeps a list of the fields above and drops anything not on it, so nothing else can be added to an event by accident.
Events are held in your browser and sent in batches, roughly every twenty seconds and when you leave the page. They are written to Netlify Blobs, a storage area belonging to this site's own hosting account. They are not aggregated with anything, not sold, not shared, and not sent to any other company. A batch is deleted ninety days after it arrives. The deletion runs from the same function that receives them, once a day.
Turn usage measurement off here. This button writes the setting into this browser, deletes anything still queued, and works whether or not the game is open. It takes effect within a few seconds, and on the game's next load at the latest.
This page and the game share one browser storage area, so the setting you make here is the one the game reads. This is the only switch: there is no second one inside the game, and the title screen links here rather than repeating it. You can turn it back on here too.
Four things leave your browser. The first goes to this site's own hosting. The second goes to the Supabase database named in section 3.2. The third goes to Microsoft, as the Clarity recording in section 3.2. The fourth, a bug report, goes to this site's hosting or to Supabase depending on how the site is configured, and never to both. Supabase and Microsoft are the only third parties in any of these paths.
That report carries five fields, and only these five:
/mission/identity-foundry-v1/IF0, including its query
string;
The report travels one of two ways, and the five fields above are the
same either way. It is either saved as a row in the Supabase database
in section 3.2, or, when that database is not configured for this
site, written to this site's own function log so it cannot be lost if
delivery fails. Either way it is then posted to a private team channel
so the bug can be fixed, once and to one channel. If a send does not go through, the
report is held in your browser (the
nexus360.bugReports.pending entry in section 3.1) and
retried later, which means one press of send can result in more than
one request. Nothing about a bug report is added to a marketing list
or shared with anyone else. Please do not type personal or
confidential information into the bug description, since whatever you
write is what gets sent.
Like any website, the host that serves these files processes the ordinary technical details of a web request, such as your IP address, to deliver the page. That is the hosting provider's standard operation, not data collection by this product, and it is not combined with anything above.
The Service is built for adults preparing for a professional certification and is not directed to children under 13. The Service never asks anyone for a name, an email address, or any other contact detail, so none is knowingly collected from a child. The usage events in section 3.2 carry a random browser id and nothing that identifies who is using the browser.
In your browser. Your save, your settings, and your browser id are yours directly. Clearing this site's data in your browser settings removes all of it, permanently and immediately, and we cannot recover it because we never had a copy.
The usage events. These are the one thing there is a
copy of outside your browser. You can stop them at any time with the
button in section 3.2, and they delete themselves ninety days after
they arrive. If you want the events already recorded under your
browser id deleted before then, email the address below with that id
and they will be deleted. Your browser holds the id under
nexus-360-academy:learner-id. We have no other way to
find them, because the id is the only thing tying them together and
nothing here connects it to a person.
If the product ever starts doing something this page does not describe, this page gets updated first, and the "last updated" date at the top changes with it.
Privacy questions: biochristy@gmail.com.