The Principle of "Need to Know" (NtK) The Law of Demeter (LoD) promotes the NtK principle in the software structure. Each "module" talks only to a small set of closely related objects that share the same concerns. The module does not need to know about all the other objects. Following NtK leads to wide interfaces because if each module is limited to know about other objects then objects need to have many methods accessing indirectly the objects that are hidden. To make the system more secure, we propose to use complex requests that allow the concise formulation of the information that is needed from deep within an object without revealing all the details of that object. There are two kinds of complex requests: explicitly and implicitly invoked. The explicitly invoked complex requests (ECR) have the flavor of a query or update. An SQL query is an example. ECRs allow us to implement methods that belong to a wide interface The implicitly invoked requests have the flavor of an enhancement where the NtK principle is applied to separate concerns. A module is not allowed to know about an object because that object does not contribute to the module's purpose. Partitioning of concerns is a critical issue. Depends on how easy it is to pull a concern out.