Native Client allows developers to run untrusted native code securely in web browsers. It works by sandboxing native code at runtime so it can only interact with the system via defined interfaces. This close the performance gap between web and desktop apps while maintaining safety. Native Client validates code as it loads to ensure it only accesses approved parts of the system and follows expected control flows. It has implementations for x86, x86-64 and ARM, and is supported in Chrome and Firefox via plugins.