How we found our mission

Like many unique stories, how Step Function I/O found its mission is a story of serendipity. The timeline below highlights the major milestones in our transformation from a single-person consultancy to a product company focused on software reliability and security.

  • 1



    Adam Crain leaves his employer to form Automatak as a LLC in North Carolina. The mission is to provide commercial support for the OpenDNP3 project.

  • 2



    Adam creates a custom smart fuzzer for testing OpenDNP3. He writes to the DNP3 technical committee's mailing list offering to share the code with others. Chris Sistrunk responds that he'd love to try it out on some devices in his lab at Entergy. Over the next six months, they discover vulnerabilities in over 30 DNP3 products. The research project will become known as Project Robus.

  • 3

    First Product


    The experience with Project Robus is eye-opening. Much of the software that we depend on in critical infrastructure is rife with vulnerabilities and other reliability issues. The experimental smart fuzzer used in Project Robus is refined into the Aegis Fuzzer, a fully fledged product. Protocol support is expanded to include IEC 104 and Modbus.

  • 4

    Expanding Services


    For the next 4 years, Automatak consults on dozens of industry projects with clients including DER, CVR, DA, and OpenFMB. The company deepens its security portfolio consulting on DPI firewalls, unidirectional gateways, and secure protocol designs.

  • 5

    First Hire


    Émile Grégoire joins Automatak as the company's first employee. The team explores Rust as an alternative to C/C++ and a new product direction. Émile develops an innovative approach to modeling generic APIs and generating language bindings for our Rust libraries.

  • 6

    Step Function I/O


    The time has come for a new brand and a focused mission. Step Function I/O incorporates as an Oregon LLC, and Automatak LLC is dissolved. Major tech companies like Microsoft, Amazon, and Cloudflare are now using Rust for mission-critical software. Now is the time to introduce Rust into industrial control systems.