Skip to main content
How permissions work
Language

Vendor Permissions

Control what each vendor's scripts can do on your site. Learn what every permission covers and what blocking it prevents.

The Dependencies view in the cside dashboard lists every vendor and domain delivering scripts to your site. Open a vendor to see its permission grid: a set of Allow and Block toggles that control what that vendor’s scripts can do in your users’ browsers.

This page explains each permission, what it covers, and what blocking it prevents.

How permissions work

Each permission has three states:

  • Allow (green check): the vendor’s scripts can use this capability.
  • Block (red shield): cside prevents the vendor’s scripts from using this capability.
  • Unset (default): the vendor keeps its normal behavior and cside keeps monitoring what it does.

Permissions apply per vendor, for your whole team. When a script is not matched to a known vendor, you can set the same permissions on its domain instead.

When you block a permission, cside enforces your decision in the browser. Blocked attempts are still recorded, so you can see what a vendor tried to do after you locked it down.

Think of permissions as least privilege for third parties: each vendor only gets the capabilities it needs to do its job.

Resources

These permissions control what a vendor’s scripts can load, embed, or run on your pages.

PermissionWhat it coversWhat blocking prevents
Create and execute dynamic scriptsLoading additional code at runtime with script tagsStops the vendor from pulling in new, unreviewed code after the page loads. This is how a compromised vendor typically escalates an attack.
Network RequestsMaking fetch and XHR network requestsStops the vendor from sending data out of the browser to its own servers. This is the main channel for data exfiltration.
FramesEmbedding iframes and framesStops hidden iframe overlays, fake login prompts, and clickjacking-style UI injection.
ObjectsEmbedding plugins and objectsStops legacy plugin content (<object> and <embed> tags), an old but still abused injection path.
WorkersRunning web workers and service workersStops background scripts that run out of sight, intercept requests, or keep working after the user leaves the page.
MediaLoading audio and video contentStops unwanted audio or video loads, including media used for tracking or ad fraud.
StylesheetsLoading external stylesheetsStops style injection that can hide page elements, overlay fake UI, or leak typed data through CSS selectors.
PrefetchPrefetching resourcesStops speculative loading of vendor resources, which can leak browsing signals before a user interacts.
ManifestLoading web app manifestsStops the vendor from supplying a manifest that changes how your site installs or behaves as an app.
ImagesLoading external imagesStops image loads, including tracking pixels: tiny images used to beacon data out.
FontsLoading external fontsStops font loads from the vendor, a quiet channel for tracking and fingerprinting.

Sensitive APIs

These permissions control access to device hardware through the browser.

PermissionWhat it coversWhat blocking prevents
CameraAccess to the device cameraStops scripts from requesting camera access, so users never see a prompt they might accept by mistake.
Screen CaptureCapturing screen or window contentsStops scripts from requesting screen recording, which can expose anything visible on the user’s display.
GeolocationAccess to the device locationStops scripts from requesting your users’ physical location.
MicrophoneAccess to the device microphoneStops scripts from requesting microphone access and recording audio.

Storage

These permissions control access to data stored in the browser.

PermissionWhat it coversWhat blocking prevents
CookiesReading or writing cookiesStops the vendor from reading session identifiers or tokens, and from planting its own tracking cookies.
Local StorageReading or writing localStorageStops access to persisted data, which often includes user identifiers and cached personal information.
Session StorageReading or writing sessionStorageStops access to per-tab session data, such as in-progress checkout state.
IndexedDBAccess to IndexedDB databasesStops access to structured browser databases, where applications often cache larger sets of user data.

Events

These permissions control whether a vendor can observe how users interact with your pages.

PermissionWhat it coversWhat blocking prevents
Click EventsListening to click eventsStops click tracking across your pages, including capture of what users tap and select.
Keyboard EventsListening to keyboard eventsStops keylogging. A script listening to keystrokes can capture everything a user types, including credentials and card numbers.

Forms Permissions

These permissions control which form fields a vendor’s scripts can read. They are central to preventing form data theft, including Magecart-style skimming, and support PCI DSS 4.0.1 requirements 6.4.3 and 11.6.1 for payment pages.

PermissionWhat it coversWhat blocking prevents
Form AccessAccess to form elements and dataThe general form permission. Blocking stops the vendor from reading form fields not covered by a more specific permission below.
Email FieldsEmail input fieldsStops harvesting of email addresses your users type.
File UploadsFile input fieldsStops access to files users attach, such as ID documents or statements.
Password FieldsPassword input fieldsStops credential harvesting from login and signup forms.
Hidden FieldsHidden form fieldsStops reading of hidden inputs, which often hold session tokens, CSRF tokens, or internal IDs.
Address FieldsAddress input fieldsStops collection of home and shipping addresses.
Search FieldsSearch input fieldsStops capture of what users search for on your site.
Phone FieldsTelephone input fieldsStops harvesting of phone numbers.
URL FieldsURL input fieldsStops reading of URLs users enter into forms.
Name FieldsName input fieldsStops collection of personal names.
One-Time LoginOne-time login fieldsStops theft of one-time passcodes, which attackers use to defeat MFA.
Birthday FieldsDate-of-birth fieldsStops collection of birth dates, a key identity theft data point.
Sex/Gender FieldsSex and gender input fieldsStops collection of sensitive demographic data.
Credit Card FieldsCredit card input fieldsStops card skimming: scripts reading card numbers as users type them at checkout.

Other

PermissionWhat it coversWhat blocking prevents
NotificationsSending push notificationsStops notification prompts and push spam from the vendor.
Full ScreenRequesting full-screen modeStops full-screen takeovers used to imitate browser UI in phishing overlays.
Payment APIAccess to the Payment Request APIStops the vendor from invoking the browser’s payment sheet or probing payment capabilities.
History APIManipulating browser historyStops URL manipulation that can disguise the page a user is really on or trap the back button.
ClipboardReading from or writing to the clipboardStops scripts from reading what users copied elsewhere, such as passwords or wallet addresses, and from clipboard hijacking, such as swapping a copied payment address for an attacker’s.

Choosing what to block

You don’t need to make 40 decisions per vendor on day one. A practical approach:

  1. Start with capabilities the vendor has no business using. Most vendors never require keyboard events, password fields, credit card fields, or the clipboard. Blocking those rarely affects functionality.
  2. Check the vendor’s recorded behavior. The Dependencies view shows what each vendor actually does on your site. If a vendor has never used a capability, blocking it carries low risk.
  3. Lock down the pages where the data is. On checkout and login flows, prioritize the forms permissions and Keyboard Events.
  4. Watch reports after blocking. Blocked attempts are still recorded. A vendor repeatedly attempting something you blocked is worth investigating.

If you don’t see Dependencies in your dashboard yet, it is rolling out gradually. Contact support@cside.dev to enable it for your team.

Was this page helpful?