CyberChef is a web-based cybersecurity toolkit for data manipulation, analysis, and transformation. It operates entirely client-side, enabling users to perform operations like encoding, encryption, compression, and data analysis without transmitting data to external servers. The application features a modular architecture where each operation is a self-contained class that can be chained together in recipes to create complex data transformation pipelines. The system is built with a clear separation of concerns: a core processing engine (Chef) handles operation execution, a web interface provides user interaction, and web workers offload intensive tasks to maintain responsiveness. Operations define explicit input/output types, and a dish type system ensures safe data handling across transformations. The project includes a Node.js API for programmatic access and a comprehensive test suite to ensure reliability. Key reusable components include the Operation base class (enabling a plugin architecture for new transformations), the Utils library (providing encoding/decoding and conversion utilities), and the Dish type system (abstracting data handling). The project demonstrates strong engineering practices with active maintenance, low technical drift, and a focus on security and performance through client-side processing and worker-based offloading.
jsone is an Erlang library for JSON encoding and decoding that implements RFC7159 compliance. The architecture consists of a main API module (jsone.erl) that delegates to specialized internal modules for decoding (jsone_decode.erl) and encoding (jsone_encode.erl), plus a utility module for IP address handling (jsone_inet.erl). The decoder uses continuation-passing style (CPS) for efficiency, enabling 'creation of sub binary delayed' optimization. The encoder provides extensive customization options including indentation, spacing, float formatting, datetime formatting, and canonical form generation. The library handles UTF-8 encoded binaries, supports multiple Erlang object formats (tuple, proplist, map), and provides both strict and lenient APIs for error handling. It has no external dependencies beyond standard OTP libraries and maintains active CI/CD workflows with regular OTP version testing.