This document discusses linker namespaces and their implementation in Android to restrict access to non-public NDK APIs. It describes how namespaces are created for different processes and apps to isolate system apps from third-party apps and allow preloaded system apps access to non-public APIs. The implementation involves creating different namespaces - a default, anonymous, and class-loader namespaces - and checking the namespace of the caller before loading shared libraries to determine if access is permitted.