Externally visible types that implement non-public interfaces should not be extensible. Types that extend public types with ...

Externally visible types that implement non-public interfaces should not be extensible. Types that extend public types with non-public interfaces can override interface members. This can compromise object behavior or create a security vulnerability.