Documentation

Guides for protecting production JavaScript

Reference guides for release workflows, command-line usage, cross-file protections, and the desktop app.

Inside The Docs

Practical guides, not placeholder pages.

How-to guides Start with release sequencing and command-line usage, then move into feature-specific references.
Advanced protection Browse cross-file controls like Replace Globals and Protect Members when a build spans multiple scripts.

Tooling matrix

  • 2026-05-20
  • Shipping tested + published · Beta opt-in · Reference spec / template only

Every artifact JSO ships, in one table. Use this page when running procurement, when scoping a JSO rollout into a new team's stack, or when answering "do you have a thing for X?". For deep documentation per artifact follow the linked rows.

Language clients

Same protect() shape across every language. See the clients reference for side-by-side code examples.

LanguagePackageMin runtimeHTTP transportStatus
Nodejso-protector (npm)Node ≥18built-in fetchShipping
Pythonjso-protector (PyPI)Python ≥3.8stdlib urllibShipping
Gojso-protector-goGo ≥1.21stdlib net/httpShipping
.NETJsoProtector (NuGet).NET Standard 2.0HttpClientShipping
Rubyjso_protector (RubyGems)Ruby ≥2.7stdlib net/httpShipping
PHPjavascriptobfuscator/jso-protector (Packagist)PHP ≥7.4ext-curl + stream fallbackShipping
Rustjso-protector (crates.io)Rust ≥1.70ureq (sync, rustls)Shipping
Javacom.javascriptobfuscator:jso-protector (Maven Central)JDK ≥11stdlib java.net.http.HttpClientShipping
Anything elseWire-format spec + JSON Schema + examples/curl/protect.shPOSIX shellcurl + jqReference
IDE integrations

Right-click Obfuscate File / Obfuscate Selection from any JS/TS file. Three presets, env-var-first credentials. Same wire format as the CLI.

Editor familyPackageStatus
VS Code, Cursor, VSCodiumjavascript-obfuscator-vscode (VS Code Marketplace)Shipping
WebStorm, IDEA Ultimate, PhpStorm, PyCharm Professional, RubyMine, GoLand, Ridercom.javascriptobfuscator.jetbrains (JetBrains Marketplace)Shipping
Build-tool plugins (via jso-protector npm CLI)
Bundler / frameworkEntry pointStatus
Vitejso-protector/viteShipping
Webpack / Rspackjso-protector/webpack, jso-protector/webpack-loader, jso-protector/rspackShipping
Rollupjso-protector/rollupShipping
esbuildjso-protector/esbuildShipping
Next.jsjso-protector/nextShipping
Parceljso-protector/parcelShipping
Metro / React Nativejso-protector/metro, jso-protector/react-nativeShipping
Bunjso-protector/bunShipping
Turbopackjso-protector/turbopackShipping
Browserify, Gulp, Gruntjso-protector/browserify, /gulp, /gruntShipping
CI/CD templates

All thirteen templates ship inside node_modules/jso-protector/ci/. Every one calls --label "$COMMIT_SHA" and archives the API report. Convention enforced by a verify:ci npm script and a verify:polyglot cross-client wire-format check.

SystemTemplate fileStatus
GitHub Actionsci/github-actions.yml + composite ActionShipping
GitLab CIci/gitlab-ci.ymlShipping
CircleCIci/circleci.ymlShipping
Jenkinsci/JenkinsfileShipping
Azure Pipelinesci/azure-pipelines.ymlShipping
Bitbucket Pipelinesci/bitbucket-pipelines.ymlShipping
Drone CIci/drone.ymlShipping
Buildkiteci/buildkite.ymlShipping
Woodpecker CIci/woodpecker.ymlShipping
Tekton Pipelinesci/tekton.yamlShipping
TeamCity Kotlin DSLci/teamcity.ktsShipping
GoCDci/gocd.yamlShipping
Argo Workflowsci/argo-workflows.yamlShipping
Kubernetes-native deployment
PatternWhereStatus
Standalone Job manifestpackages/jso-protector/examples/kubernetes/job.yamlShipping
Helm chart (Job or CronJob via cron.schedule)packages/jso-protector/examples/helm/Shipping
Tekton Task + Pipelineci/tekton.yamlShipping
Argo Workflowsci/argo-workflows.yamlShipping
Stack-trace symbolication

Local demangling of obfuscated stack traces. Maps stay on the customer machine. See the symbolication doc.

ComponentDetailStatus
jso-symbolicate CLInpm package — npx jso-symbolicate --map report.json --stack crash.txtShipping
Interactive web demo/symbolicate-demo.aspx — paste a stack + map, browser-only demanglingShipping
Sentry / Bugsnag / Rollbar / Datadog / Honeybadger / Raygun / Airbrake / AppSignalOne-line beforeSend wire-up per reporter; subpath exports off jso-symbolicateShipping
Developer-hygiene tools
ToolWhat it doesStatus
eslint-plugin-jso-protectorESLint rules: no-hardcoded-jso-credentials (catches base-64-shaped tokens + literal assignments to credential keys) and prefer-env-credentials (warns on empty-string placeholders). Both auto-fix to process.env.Shipping
pre-commit hooksjso-release-check + jso-dry-run catch config drift before commit. Ship via packages/jso-protector/.pre-commit-hooks.yaml.Shipping
Polyglot CI smoke harnesspackages/polyglot-smoke/smoke.js — spins up a mock server, round-trips a fixture against every available language client, asserts cross-client wire-format consistency. Wired into verify:polyglot + prepublishOnly.Shipping
Runtime defense + ops integration
CapabilityWhereStatus
Debug protection, console suppression, devtools-key blocking, headless detection, session lock, fingerprint lock, challenge lock, self-defending integrity heartbeat, signed RSA envelopes, beacon callbackAPI options documented at /Docs/RuntimeDefense.aspxShipping
jso-beacon-slackForwards Runtime Defense beacon webhooks to Slack + Discord. Three deployment shapes: programmatic, standalone HTTP server, AWS Lambda example.Shipping
Persistent threat-monitoring dashboardAggregates beacon events keyed by BuildId. Roadmap.Beta
VM bytecode protectionPer-function virtualization marked by // @virtualize. Corporate+ tier.Beta
Migration guides
Coming fromGuide
OSS javascript-obfuscator npm packageMigrating from javascript-obfuscator
Jscrambler Code IntegrityMigrating from Jscrambler
Don't see a tool you need? The JSO HTTP API is small and stable; every artifact above is built on top of it. Write a thin client in your language by following the wire-format spec or generate one from the JSON Schema. Recipes for common build-and-release patterns live in the Cookbook.