🚧 Endo 🚧
Endo protects program integrity both in-process and in distributed systems. SES protects local integrity, defending an application against supply chain attacks: hacks that enter through upgrades to third-party dependencies. Endo does this by encouraging the Principle of Least Authority.
fetch or modules like
net, Endo uses LavaMoat to
automatically generate reviewable policies that determine what capabilities
will be distributed to third party dependencies.
Between remote objects and SES compartments, Endo makes distributed programs easy to program, and easy to reason about integrity. CapTP frees the programmer from needing to create bespoke communication protocols over message ports or byte streams.
Ruminations on the Name
- In Greek, "endo-" means "internal" or "within". This is fitting because Endo runs Node within a safe sandbox. This is fitting in turn because Endo is built on the legacy of Google Caja. In Spanish, "caja" means "box" and is related to the Latin word "capsum" and English "capsule", as in "encapsulate".
- Endo is an anagram of Node and Deno. That is to say, we are not Done yet.
endocommand, like the
sudocommand, is a "do" command. However, instead of escalating privilege, it attenuates privilege.
- Endo lets applications endow packages with limited powerful objects and modules. As they say, you can't spell "endow" without "endo"!
- So, "E.N.Do" forms the acronym "Encapsulated Node Do".
So, just as "soo-doo" (super user do) and "soo-doh" (like "pseudo") are valid
sudo, "en-doh" and "en-doo" are both valid pronunciations of
Please help us practice coordinated security bug disclosure, by using the instructions in our security guide to report security-sensitive bugs privately.
For non-security bugs, please use the regular Issues page.
Endo and its components are Apache 2.0 licensed.