  Privacy by design (PbD) is the principle that privacy should be considered at
every stage of the software engineering process. It is increasingly both viewed
as best practice and required by law. It is therefore desirable to have formal
methods that provide guarantees that certain privacy-relevant properties hold.
We propose an approach that can be used to design a privacy-compliant
architecture without needing to know the source code or internal structure of
any individual component. We model an architecture as a set of agents or
components that pass messages to each other. We present in this paper
algorithms that take as input an architecture and a set of privacy constraints,
and output an extension of the original architecture that satisfies the privacy
constraints.
