Is Connect Shopify Orders, AI Replies & Customer Support in Gmail - by Onially safe?
We analyzed Connect Shopify Orders, AI Replies & Customer Support in Gmail - by Onially version 3.9's actual code and gave it a 62/100 trust score. This…
Bottom line
This is a purpose-aligned but high-access support extension with sensitive data handling and a meaningful content-injection weakness, without clear evidence of intentional abuse.
What it can access
It can read Gmail and WhatsApp conversations and detailed Shopify customer records across several service sites, broadly matching its support purpose but exposing sensitive business data [Q1][Q2][Q3].
Security weaknesses
Untrusted AI text is inserted into Gmail as HTML, creating a risk that crafted generated content could alter what users see [Q20].
Signs of misuse
The extension sends email threads to OpenAI after a user request and performs routine Shopify checks, but the evidence shows no unrelated collection or deliberate misuse [Q6][Q8][Q14].
Code findings
What access does this extension ask for, and does that access make sense for what it claims to do?
It has targeted access to Gmail, Shopify admin and store services, WhatsApp Web, OpenAI, storage, identity, navigation, scripting, and notifications; this is broad but mostly consistent with its support workflow.
Declares the browser permissions, five service host patterns, and content scripts for Gmail, Shopify admin, and WhatsApp Web. — manifest.json:7-40
Which websites can it run on, and can it read or change what appears on those pages?
It reads visible Gmail messages and WhatsApp conversation identifiers to connect conversations with Shopify orders.
Reads sender, subject, message bodies, and thread text from Gmail. — content.js:1771-1905,2903-2957
Reads the current WhatsApp phone number and watches chat changes. — whatsapp-content.js:1289-1364,1450-1524
Can it see sensitive information you type, such as passwords, payment details, messages, or form entries?
It processes sensitive customer communications and Shopify records, including emails, phone numbers, addresses, order notes, products, payments, and tracking details.
Builds customer and order displays from Shopify data and matches Gmail messages by sender or order number. — content.js:670-743,1881-1905
Displays customer contact, address, product, payment, and fulfillment fields from Shopify. — whatsapp-content.js:934-1191
Can it access private browser data such as cookies, signed-in sessions, browsing history, bookmarks, or downloads?
It stores Shopify tokens, an OpenAI key, templates, policies, and configuration in Chrome storage; secrets are encrypted, but the key is stored beside them in sync storage.
Creates an AES-GCM key in sync storage and stores encrypted Shopify and OpenAI credentials there. — settings.js:163-183,269-318
Retrieves the sync-stored encryption key to decrypt stored credentials. — background.js:31-33
Can it access anything else on your device, such as files, location, camera, microphone, clipboard, or installed applications?
It can copy selected order details to the clipboard and show browser notifications; no file or device capture was found.
Copy buttons write selected order values to the clipboard after a click. — whatsapp-content.js:899-929
Creates a notification when a configured Shopify connection fails. — background.js:34-35,41-45
Does it send information outside your browser? If so, what information is sent, where does it go, and why?
It sends customer identifiers and Shopify tokens to the configured Shopify store, and sends a Gmail thread plus order data to OpenAI when the user requests an AI reply.
Builds an OpenAI prompt containing the email thread and Shopify order, then sends it through the background worker. — content.js:2865-2889,3000-3076
Performs Shopify API requests and fixed-endpoint OpenAI requests; the daily Shopify check sends the token only to the configured store. — background.js:4-11,41-46
Does it download or run code, settings, or instructions supplied by a remote server?
Remote Shopify and OpenAI responses control displayed order details and generated draft text, but no remote configuration or executable data is loaded.
Uses OpenAI's response as draft content after a user action. — content.js:2865-2889,3066-3095
Parses remote responses as JSON and returns them to extension code rather than executing them as JavaScript. — background.js:4-11
Can it take actions without a clear user request, such as opening pages, redirecting searches, downloading files, or sending requests?
Gmail order matching is enabled by default, Shopify tokens are checked daily, and a pinned WhatsApp sidebar can automatically query by the visible phone number.
The default-enabled Gmail observer analyzes newly displayed messages and queries Shopify. — content.js:1437-1489,1771-1905
A visible or pinned sidebar can automatically search Shopify for the current chat number. — whatsapp-content.js:1450-1465,1593-1623
Checks all configured stores shortly after startup and every 24 hours. — background.js:41-46
Can it change important browser settings, including your proxy, search engine, homepage, privacy settings, or other extensions?
No evidence of this behavior was found in the reviewed package.
Requests no browser-settings, proxy, search-provider, or homepage permission. — manifest.json:7-40
Is any important behavior difficult to inspect because the code is hidden, heavily obfuscated, dynamically generated, or supplied by third parties?
No evidence of this behavior was found in the reviewed package.
Compact source directly exposes its Shopify, OpenAI, storage, OAuth, and scheduling behavior. — background.js:1-46
Does it use eval(), new Function(), or string-based timers to turn text into executable code?
No evidence of this behavior was found in the reviewed package.
The extension-page policy permits only packaged scripts; review of the active JavaScript found no dynamic execution sink. — manifest.json:21-24
Does it track the websites, pages, searches, or links you visit?
No evidence of this behavior was found in the reviewed package.
Extracts the Gmail subject, sender, and order number for Shopify lookups. — content.js:1881-1905,2960-2989
Reads the current WhatsApp conversation phone number for order search. — whatsapp-content.js:1289-1364
Does it create a persistent ID or browser fingerprint to recognize you?
No evidence of this behavior was found in the reviewed package.
Network code is limited to Shopify and OpenAI feature requests and local OpenAI usage accounting. — background.js:4-11,39-46
Does it send cookies, session details, authentication data, or page contents elsewhere?
It handles Shopify access tokens, Shopify OAuth client secrets, and an OpenAI services key, but does not read browser cookies or send credentials to an unrelated party.
Runs Shopify OAuth with a random state check and exchanges the client secret and returned code directly with the chosen Shopify store. — background.js:17-26
Encrypts and stores Shopify and OpenAI credentials in sync storage. — settings.js:163-183,302-314
Does it record typing, form entries, clipboard contents, or screenshots?
It reads Gmail message bodies and customer/order information, but no keystroke logger, password-field capture, or screenshot code was found.
Reads rendered email bodies and thread text for order matching and user-triggered AI replies. — content.js:1771-1905,2903-2957
Can a website or remote server send commands that make the extension take actions?
No evidence of this behavior was found in the reviewed package.
Returns OpenAI message content, replaces newlines only, and passes the result to insertHTML or innerHTML without escaping. — content.js:3066-3095
Does it alter links, referral codes, advertisements, shopping carts, or search results?
No evidence of this behavior was found in the reviewed package.
Adds Shopify and AI controls to Gmail and inserts a generated reply into the compose editor. — content.js:907-978,2038-2200,3079-3095
Adds a Shopify order sidebar and toggle to WhatsApp Web. — whatsapp-content.js:598-605,1530-1589
Does it redirect or modify web traffic, request headers, downloads, or proxy settings?
It makes direct HTTPS requests to Shopify and OpenAI and opens tracking-provider links; no browser proxy configuration or hidden file download was found.
Performs the extension's Shopify OAuth, API, and OpenAI traffic. — background.js:4-11,20-25,41-46
Builds user-facing links to Shopify and the selected shipment-tracking service. — whatsapp-content.js:1124-1172
Can it communicate with software on the computer or services running on localhost?
No evidence of this behavior was found in the reviewed package.
Requests no nativeMessaging permission and declares only browser-hosted components. — manifest.json:7-40
Does it decode, decrypt, or unpack hidden data and then execute or inject it?
No evidence of this behavior was found in the reviewed package.
Downloads JSON from Shopify and OpenAI and returns parsed data to packaged code. — background.js:4-11
OpenAI text reaches an HTML insertion sink, not eval or Function; markup injection is possible while code execution is not demonstrated. — content.js:3066-3095
Can ordinary websites access privileged extension features through messaging or exposed files?
No evidence of this behavior was found in the reviewed package.
Declares no externally_connectable entry; the reviewed content scripts contain no webpage message bridge. — manifest.json:1-55
Does suspicious behavior activate only for certain users, websites, dates, or remote settings?
No evidence of this behavior was found in the reviewed package.
Reads stored toggles and defaults Gmail and AI/template features to enabled unless explicitly false. — content.js:1437-1489,3190-3217
Reads the WhatsApp feature toggle and treats it as enabled by default. — whatsapp-content.js:68-112
Does it perform hidden resource-intensive work, such as cryptocurrency mining?
No evidence of this behavior was found in the reviewed package.
Background activity consists of Shopify/OpenAI requests, credential handling, notifications, and scheduled store checks. — background.js:1-46
Does it change form fields or where a form sends its information?
It writes templates and AI responses into Gmail's compose input after user actions; it does not change a form action or secretly redirect submitted data.
Writes the selected template or generated reply into Gmail's contenteditable compose editor. — content.js:2490-2551,3079-3095
AI reply generation is initiated from visible buttons attached to the compose window. — content.js:2090-2180