At a glance
Cursoria is a cursor design and motion extension. It lets users choose or create cursor artwork, configure pointer states and click hotspots, add motion and visual effects, save cursor scenes, create website-specific profiles, and apply those choices to ordinary web pages.
Cursoria does not require an account and does not operate its own cloud service. The extension logic, cursor compiler, interface, and built-in artwork are included in the installed package.
Information and content you create
Cursoria stores settings and creative content necessary to reconstruct the user's cursor experience. Depending on the features used, this can include:
- selected cursor family, cursor name, size, hotspot coordinates, glow, motion, quality, trail, and click-effect settings;
- separate images and settings for Default, Link, Text, Loading, Grab, and Click pointer states;
- images imported by the user and edited image output;
- custom cursor animation CSS and a short local CSS history;
- saved scenes and imported preset bundles;
- website hostnames and cursor settings saved in site-specific profiles;
- presentation-mode preferences; and
- whether optional Chrome Sync is enabled.
Imported images
When a user selects an image, Cursoria reads that file in the popup so it can preview, edit, convert, and store the cursor artwork. The image and derived pointer-state artwork remain in extension storage on the user's device. Cursoria does not upload the file to a developer-operated service.
Magic Family Compiler
Text entered into Magic is interpreted locally by code packaged with the extension. The prompt is used in memory to generate a cursor family and is not sent to an online AI provider or Cursoria server. Cursoria does not persist the prompt itself. If the user applies the result, the resulting cursor artwork and settings are saved like any other cursor family.
Temporary interaction data
Movement recorded in the popup's Live Canvas is held only in memory for local replay and is not browsing history. Presentation annotations are rendered temporarily on the current page and fade automatically; they are not saved or transmitted.
Local storage architecture
Cursoria uses chrome.storage.local to persist cursor settings and user-created content across popup sessions. The unlimitedStorage permission is used because imported artwork and multi-state cursor families can exceed Chrome's standard local storage quota.
Local extension storage is separate from the localStorage or sessionStorage of websites. Cursoria does not place tracking identifiers into website storage.
The developer does not receive a copy of the local cursor library during normal use. Local storage is not an encrypted vault; someone with access to the same unlocked browser profile, operating-system account, or device backup may be able to access locally stored extension data.
chrome.storage.local and are excluded from Cursoria's optional sync payload.Website, tab, and browsing access
Cursoria needs access to ordinary websites because its single purpose is to display the user's selected cursor and cursor effects on those pages. A packaged content script creates an isolated Shadow DOM overlay and responds to pointer movement and clicks.
To choose the appropriate cursor state, the content script distinguishes broad interactive element types under the pointer, such as links, buttons, text inputs, loading elements, and draggable targets. It does not need to read the text typed into a form, passwords, private messages, article text, payment information, cookies, or the content of unrelated browser storage.
When the user explicitly saves a site profile, the popup reads the active tab's hostname and stores that hostname locally with the selected cursor configuration. Cursoria does not build or transmit a history of visited pages.
The service worker may enumerate open tabs, check whether a URL is an eligible ordinary web page, and send the packaged cursor engine a refresh message so settings can update without requiring every page to be reloaded. Tab URLs and titles are not saved or sent to the developer for this process.
| Page-related information | How Cursoria uses it | Stored or transmitted? |
|---|---|---|
| Pointer coordinates and clicks | Positions the cursor and renders the chosen local effects. | Processed temporarily; not transmitted. |
| Interactive element category | Selects Link, Text, Loading, Grab, Click, or Default state. | Processed temporarily; not stored as browsing activity. |
| Active website hostname | Used only when the user saves a site-specific profile. | Stored locally in that profile; excluded from sync. |
| Form values, passwords, messages, and page text | Not required for cursor operation. | Not intentionally read, collected, or transmitted. |
| Cookies and website storage | Not required. | Not accessed by Cursoria. |
Chrome permissions
The reviewed Cursoria 2.0.1 package uses the following Chrome permissions for its disclosed cursor features:
| Permission | Purpose |
|---|---|
storage | Saves cursor artwork, state configurations, hotspots, motion settings, CSS, scenes, profiles, and optional lightweight sync preferences. |
unlimitedStorage | Allows user-imported artwork and six-state cursor families to remain saved when their size exceeds the standard local quota. |
tabs | Identifies the active hostname when the user creates a site profile and coordinates refresh messages with eligible open tabs. |
scripting | Injects only the packaged content.js cursor engine into an eligible already-open tab when that tab does not yet have it. |
<all_urls> | Allows the selected cursor to work across ordinary websites instead of being limited to one domain. |
Cursoria does not request Chrome permissions for browsing history, cookies, bookmarks, downloads, geolocation, camera, microphone, clipboard, notifications, identity, payments, or native messaging.
The scripting capability is not used to download or execute remote code. Only code included in the reviewed extension package is run.
Optional Chrome Sync
Chrome Sync is disabled by default in Cursoria. If the user enables it, Cursoria writes a lightweight preference object to chrome.storage.sync. Chrome may then synchronize that object between Chrome profiles or devices signed in with the same Google account, subject to the user's Chrome Sync settings and Google's services.
The sync payload can include general preferences such as the selected preset identifier and name, size, default hotspot, motion and effect choices, quality, presentation preferences, custom CSS, and other lightweight configuration values.
The following are deliberately excluded from Cursoria's sync payload:
- imported cursor image data;
- per-state image data;
- website profiles and their hostnames;
- saved scenes; and
- the complete local profile collection.
chrome.storage.sync. Previously synchronized data may remain under Chrome's storage and account behavior until cleared through the relevant browser or account controls.Network activity and remote services
The reviewed extension package does not use fetch, XMLHttpRequest, WebSocket, sendBeacon, a developer API, remote fonts, remote executable code, an online image processor, or an online AI provider.
Cursoria does not operate a user account system, developer cloud database, remote cursor gallery, telemetry endpoint, advertising service, or payment service.
Chrome and the Chrome Web Store may communicate with Google for installation, extension updates, Safe Browsing, Chrome Sync, account functionality, store statistics, and other browser services. Those services are controlled by Google under its own terms and privacy practices, not by Cursoria.
Analytics, advertising, and tracking
Analytics and crash reporting
Cursoria 2.0.1 does not include Google Analytics, Firebase Analytics, Mixpanel, Amplitude, Segment, PostHog, Sentry, or another automatic analytics or crash-reporting SDK.
Advertising
Cursoria does not display third-party advertisements and does not use user data for personalized advertising, retargeting, audience building, or sale to data brokers.
Cookies and fingerprinting
Cursoria does not request the cookies permission and is not designed to fingerprint devices, correlate people across websites, or create behavioral profiles.
Chrome Web Store information
The Chrome Web Store may provide developers with aggregated information such as install counts, user counts, ratings, and store performance. Cursoria does not combine such aggregate store information with locally stored cursor artwork, site profiles, or browsing activity.
Retention, deletion, and user control
Local cursor data remains in the Chrome profile so configurations persist after the popup closes. Cursoria does not set a developer-side retention period because it does not maintain a remote user database.
Users can replace or reset configurations from the popup, remove individual profiles and scenes, clear extension storage through browser controls, or uninstall Cursoria. Chrome normally clears chrome.storage.local data when an extension is removed.
Uninstalling or clearing local storage can permanently remove imported artwork, state images, hotspots, scenes, site profiles, and custom CSS. Because the developer does not hold a cloud copy, the developer generally cannot restore that data.
Users may export a Cursoria preset bundle before clearing local data. Export happens only after a user action and creates a file through the browser. The extension does not upload the exported bundle.
Security and data minimization
Cursoria minimizes privacy exposure by using an offline-capable architecture, avoiding a developer account system and backend, excluding large or website-specific data from optional sync, and limiting data use to cursor functionality.
The on-page cursor interface is isolated in a Shadow DOM. User-authored cursor CSS is applied inside that isolated cursor surface rather than as a general stylesheet for the host website. Cursoria does not treat custom CSS as remote code and does not transmit it to a Cursoria server.
No storage mechanism can guarantee protection against every threat. Users should protect their operating-system account, Chrome profile, and device; keep Chrome updated; and avoid importing untrusted preset bundles.
Chrome Web Store Limited Use and third parties
Cursoria's use of information received from Chrome APIs adheres to the Chrome Web Store User Data Policy, including the Limited Use requirements.
Any information handled through Chrome permissions is used only to provide or improve Cursoria's disclosed single purpose: designing, applying, and maintaining the user's cursor experience. Cursoria does not transfer this information to third parties except if required by law or necessary to address security or abuse, and it does not allow humans to read locally stored user content unless the user deliberately supplies specific information when requesting support.
Cursoria does not use or transfer user data for personalized advertising, creditworthiness, lending, insurance, employment, housing, or other unrelated purposes.
Google and Chrome
Chrome, Chrome Sync, and the Chrome Web Store are third-party platform services operated by Google. Their processing of account, installation, update, security, synchronization, and store information is governed by Google's own policies.
Children's privacy
Cursoria is a general-purpose customization tool and is not designed to collect a child's name, contact information, precise location, school information, photographs, or behavioral advertising profile. A user can choose to import any image available on their device; that file remains locally stored unless the user independently shares or exports it.
Changes to this policy and contact
This policy may be revised to improve clarity, reflect a new Cursoria release, respond to changes in Chrome or Chrome Web Store requirements, or describe a material change in data practices.
If a future version introduces a developer backend, online AI service, account system, analytics, advertising, cloud image storage, remote cursor marketplace, new data collection, or materially different Chrome permissions, the relevant disclosures and this privacy policy should be updated before or when that behavior is introduced.
Questions about this policy can be submitted through the developer contact or support information displayed on Cursoria's Chrome Web Store listing. If support requires examining a preset or screenshot, the user chooses what to provide; Cursoria does not automatically attach local artwork or browser information to a support request.