One of the first questions NetSuite admins ask us about Sonar, the free AI assistant that runs directly inside NetSuite as a Suitelet, is a fair one: how do I let my team use this without handing an AI tool the keys to my ERP?
The honest answer is that Sonar was built with this worry in mind. It runs through the authenticated session of whoever is logged in, which means by default it honors the roles and permissions that user already has. There is no separate database and nothing gets stored outside NetSuite. It simply passes data between your account and the AI provider you configured with your own API keys.
That said, we have been inside enough NetSuite environments to know that "it uses your existing permissions" is not always a comforting sentence. Plenty of admins are perfectly fine with a user creating records by hand but are not quite ready to extend that same power to an AI tool, and frankly, that instinct is a healthy one. The catch is that just creating a view-only role is not enough on its own. People forget things. Somebody will absolutely open Sonar one morning, pre-coffee, still logged into their full-access role, and now your careful plan depends on them clicking the right button in a confirmation dialog.
The good news is there are a few easy steps that solve this completely. By pairing a view-only role with a restriction on Sonar's script deployment itself, you can guarantee that Sonar only ever runs from the read-only role, no toggling discipline required. Here is how to set it up.
Before the steps, it helps to know what is built in, because it explains why this setup holds together. Sonar operates entirely inside NetSuite's native permissions model, so it can only see and do whatever the logged-in role allows. Any action that would create, update, or delete a record triggers a confirmation dialog first, whether you are in sandbox or production, admin or not. And every SuiteQL query Sonar runs is visible in the app, so you can inspect, copy, or rerun anything it did. No smoke or mirrors.
Those defaults keep a human in the loop. The steps below go one better and remove the possibility of unintended writes altogether.
Head to Setup > Users/Roles > Manage Roles and create a new role, or customize a copy of the existing role closest to what your team needs. Give it a name nobody could mistake for a working role, something like "Sonar View Only." Future you, six months from now, staring at a list of forty roles, will appreciate the clarity.
Work through the role's permission subtabs (Transactions, Reports, Lists, Setup, and Custom Records) and modify each permission level to View.
Here is the part that trips people up. Some NetSuite permissions do not offer a View level at all. Their only option is Full, which rather defeats the purpose of a read-only role. For those, do not leave them sitting on the role hoping for the best. Remove them entirely. When you are done, the role should contain nothing but View-level permissions, full stop.
This is also a natural moment to practice a little least-privilege hygiene. If a category of data has no business being visible to this group (payroll comes to mind), leave it off the role, and Sonar will not be able to see it either.
This is the step that makes the whole thing foolproof, and it is the one most people skip.
Open the script deployment record for the Sonar Suitelet and update the audience so it is set to trigger only for your view-only role. That includes removing the ability for an administrator to use it. Yes, even you. Especially you, honestly, since the admin role is the one with the most room to do damage in a distracted moment.
With the audience locked down this way, the "what if someone forgets to toggle roles" problem simply stops existing. A user sitting in their normal working role cannot launch Sonar at all. The only door into the tool is the view-only role, so there is no scenario where Sonar runs with create, edit, or delete permissions behind it.
Open the employee record for each person who should have Sonar access and assign them the view-only role on the Access tab, alongside their existing roles. Using Sonar now becomes a deliberate act: switch to the view-only role, open Sonar, and explore to your heart's content. When it is time to actually create or edit something, they switch back to their working role and make the change through the standard NetSuite UI, with their own hands on the keyboard.
We would never suggest you take a configuration's word for it, and neither should you. Two quick tests confirm both layers are doing their job.
First, confirm the write-enabled roles are locked out. While logged in under a role you removed from the deployment audience (your administrator role is the important one here), type "page: sonar" into NetSuite's global search and try to access the Suitelet. If Step 3 was done correctly, NetSuite should send back a notice that you are unable to access the page. That error message is the whole point, so enjoy it. If the Suitelet loads instead, go back and double-check the deployment's audience settings.
Second, confirm the view-only role cannot write. Toggle over to the view-only role, open Sonar, and ask it to create a test record. Something like "create a new lead record called Test" works fine. Sonar will attempt the action, but the output should show it was unable to create the record, because the permission simply is not there. The AI can try all it wants. NetSuite's permissions model gets the final say, which is exactly how it should be.
If both tests pass, your lockdown is airtight. The roles that can write cannot reach Sonar, and the role that can reach Sonar cannot write.
What you have built is restricted access to Sonar where the tool can only be used from the view-only role and cannot accidentally be used with the role holding real write permissions. Even if a user never thinks about role toggling again in their life, the script deployment audience does the enforcement for them. Your team keeps all the upside (fast answers, on-demand reports, the freedom to poke around their own data without filing a ticket) while the write-access risk in production is removed by design rather than by hoping everyone stays vigilant.
The view-only setup is the foundation. Here are the habits we recommend building on top of it, learned from watching a lot of teams adopt AI tools with varying levels of caution.
The safest way to adopt AI inside your ERP is to lean harder on the security model you already have, and that is exactly how Sonar was built. It respects NetSuite's native roles and permissions, confirms every write, and shows its work. A view-only role plus a locked-down script deployment takes it one step further, turning "please remember to switch roles" from a policy you have to enforce into a guarantee you never have to think about again.
Request the free Sonar bundle on the Anchor Group Sonar landing page and we will get it provisioned to your account, then walk through setup with you (role configuration included) on a short install call. Bring your questions. We have probably heard them before, and we are happy to answer the ones we have not.