https://github.com/jscrambler/jscrambler
Monorepo of Jscrambler's Javascript Client and Integrations
https://github.com/jscrambler/jscrambler
cli client ember grunt gulp jscrambler monorepo node webpack website
Last synced: 30 days ago
JSON representation
Monorepo of Jscrambler's Javascript Client and Integrations
- Host: GitHub
- URL: https://github.com/jscrambler/jscrambler
- Owner: jscrambler
- License: mit
- Created: 2017-12-20T18:22:51.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2025-03-27T09:18:29.000Z (about 2 months ago)
- Last Synced: 2025-04-15T03:51:54.571Z (30 days ago)
- Topics: cli, client, ember, grunt, gulp, jscrambler, monorepo, node, webpack, website
- Language: JavaScript
- Homepage: https://jscrambler.com
- Size: 2.19 MB
- Stars: 150
- Watchers: 15
- Forks: 31
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: contributing.md
- License: LICENSE
Awesome Lists containing this project
README
# [](https://jscrambler.com/?utm_source=github.com&utm_medium=referral)
## Jscrambler Code Integrity
Jscrambler [Code Integrity](https://jscrambler.com/code-integrity) is a JavaScript protection technology for Web and Mobile Applications. Its main purpose is to enable JavaScript applications to become self-defensive and resilient to tampering and reverse engineering.
If you're looking to gain control over third-party tags and achieve PCI DSS compliance please refer to Jscrambler [Webpage Integrity](https://jscrambler.com/webpage-integrity).
## JavaScript Protection Technology
Jscrambler includes three security layers:
- **Advanced Obfuscation**: transformations to Strings, Variables, Functions, and Objects, through reordering, encoding, splitting, renaming, and logic concealing techniques that make the code extremely difficult to read and reverse-engineer. Includes **control-flow flattening** by adding opaque predicates and irrelevant code clones and flattening the control-flow;
- **Code Locks**: ability to prevent the protected code from running outside whitelisted domains, browsers, date ranges, OS'es, and on rooted/jailbroken devices;
- **Runtime Protection**: anti-tampering and anti-debugging techniques, such as [Self-Defending](https://docs.jscrambler.com/code-integrity/documentation/transformations/self-defending) and [Self-Healing](https://docs.jscrambler.com/code-integrity/documentation/transformations/self-healing).### Polymorphic Behavior
Jscrambler has a **Polymorphic Behavior**, so each new code deployment generates a **different protected output** with the same code functionality.
### Source Maps
**[Source maps](https://docs.jscrambler.com/code-integrity/documentation/source-maps)** provide a way of mapping obfuscated code back to its original source code, helping the debugging process of obfuscated code as if you were running the original source code.
### JavaScript Threat Monitoring
Jscrambler displays [real-time notifications](https://jscrambler.com/products/javascript-threat-monitoring?utm_source=github.com&utm_medium=referral) whenever there is a threat to the protected code. Any code lock violation or attempt to modify/debug protected code will display a detailed alert on the Live Feed dashboard.
### Profiling
This [feature](https://docs.jscrambler.com/code-integrity/documentation/profiling) is specifically aimed at performance-sensitive apps. It analyzes which parts of the code are critical to performance and applies the best balance of transformations when protecting the code.
## Jscrambler JavaScript Client and Integrations
You can integrate Jscrambler into your build process easily with its API client. It also has several integrations.
- [JavaScript CLI and API Client](packages/jscrambler-cli)
- [Grunt](packages/grunt-jscrambler)
- [Gulp](packages/gulp-jscrambler)
- [Webpack](packages/jscrambler-webpack-plugin)
- [Ember](packages/ember-cli-jscrambler)
- [Metro](packages/jscrambler-metro-plugin)### Version Compatibility
The version's compatibility table match your [Jscrambler Version](https://app.jscrambler.com/settings) with the selected integration Client (f.e jscrambler-cli or jscrambler-webpack-plugin).
Please make sure you install the right version, otherwise some functionalities might not work properly.| _Jscrambler Version_ | _Client and Integrations_ |
|:----------:|:-------------:|
| _<= 7.1_ | _<= 5.0.0_ |
| _7.2 ... 8.2_ | _\>= 6.0.0_ |
| _\>= 8.3_ | _\>= 8.4.0_ |Note: CLI 8.4.0 still supports older versions of Jscrambler (>= 7.2).
## Jscrambler JavaScript Framework/Library Integrations
- [React](https://blog.jscrambler.com/protecting-your-react-js-source-code-with-jscrambler/?utm_source=github.com&utm_medium=referral)
- [Angular](https://blog.jscrambler.com/how-to-protect-angular-code-against-theft-and-reverse-engineering/?utm_source=github.com&utm_medium=referral)
- [Angular.js](https://blog.jscrambler.com/how-to-protect-your-angular-js-application-with-jscrambler/?utm_source=github.com&utm_medium=referral)
- [Vue.js](https://blog.jscrambler.com/how-to-protect-your-vue-js-application-with-jscrambler/?utm_source=github.com&utm_medium=referral)
- [Ember.js](https://docs.jscrambler.com/code-integrity/frameworks-and-libraries/emberjs?utm_source=github.com&utm_medium=referral)
- [Meteor](https://docs.jscrambler.com/code-integrity/frameworks-and-libraries/meteor?utm_source=github.com&utm_medium=referral)
- [Ionic](https://blog.jscrambler.com/protecting-hybrid-mobile-apps-with-ionic-and-jscrambler/?utm_source=github.com&utm_medium=referral)
- [NativeScript](https://blog.jscrambler.com/protecting-your-nativescript-source-code-with-jscrambler/?utm_source=github.com&utm_medium=referral)
- [React Native](https://blog.jscrambler.com/how-to-protect-react-native-apps-with-jscrambler/?utm_source=github.com&utm_medium=referral)
- [More information about Framework Compatibility](https://jscrambler.com/javascript-frameworks-and-libraries#compatible-frameworks?utm_source=github.com&utm_medium=referral)## Jscrambler Tutorials
- [Jscrambler Docs](https://docs.jscrambler.com/?utm_source=github.com&utm_medium=referral)
- [Jscrambler 101 — First Use](https://blog.jscrambler.com/jscrambler-101-first-use/?utm_source=github.com&utm_medium=referral)
- [Jscrambler 101 — Code Annotations](https://blog.jscrambler.com/jscrambler-101-code-annotations/?utm_source=github.com&utm_medium=referral)
- [Jscrambler 101 — Self Defending](https://blog.jscrambler.com/jscrambler-101-self-defending/?utm_source=github.com&utm_medium=referral)
- [Jscrambler 101 — Control Flow Flattening](https://blog.jscrambler.com/jscrambler-101-control-flow-flattening/?utm_source=github.com&utm_medium=referral)
- [Jscrambler 101 — Code Locks](https://blog.jscrambler.com/jscrambler-101-code-locks/?utm_source=github.com&utm_medium=referral)
- [Jscrambler 101 — How to use the CLI](https://blog.jscrambler.com/jscrambler-101-how-to-use-the-cli/?utm_source=github.com&utm_medium=referral)
- [Jscrambler 101 — Source Maps](https://blog.jscrambler.com/jscrambler-101-source-maps/?utm_source=github.com&utm_medium=referral)
- [Jscrambler 101 — Countermeasures](https://blog.jscrambler.com/jscrambler-101-countermeasures/?utm_source=github.com&utm_medium=referral)
- [Jscrambler 101 — Self-Healing](https://blog.jscrambler.com/jscrambler-101-self-healing/?utm_source=github.com&utm_medium=referral)
- [Jscrambler 101 — Profiling](https://blog.jscrambler.com/jscrambler-101-profiling/?utm_source=github.com&utm_medium=referral)
- [Jscrambler 101 — App Classification](https://blog.jscrambler.com/jscrambler-101-app-classification/?utm_source=github.com&utm_medium=referral)
- [Jscrambler 101 — Memory Protection](https://blog.jscrambler.com/jscrambler-101-memory-protection/?utm_source=github.com&utm_medium=referral)