\begin{tikzpicture}[ -latex, entity/.style = { draw = gray!30, thick, rounded rectangle, fill = white, minimum width = 2cm, font = \fontsize{8}{8}\selectfont, text = white, }, relation/.style = { draw = none, font = \fontsize{6}{6}\selectfont, }, path/.style = { draw, thick, -latex, }, ] \node[entity, fill=darkBlue] (Log) at (0,0) { Log }; \node[entity, fill=darkGreen, below=1.5cm of Log] (Browser) {Browser}; \node[entity, fill=darkOrange, left=1.5cm of Log] (CA) {CA}; \node[entity, fill=darkRed, below=1.5cm of CA] (Website) {Website}; % Logging \path[path] (CA) edge[bend left] node[relation,right,below]{Certificate} (Log); \path[path] (Log) edge[bend left] node[relation,left,above]{Proofs} (CA); % Distribution \path[path] (CA) -- node[relation, below, sloped]{% \begin{tabular}{c} Certificate\\ Proofs \\ \end{tabular} } (Website); % Serve \path[path] (Website) -- node[relation, below] { \begin{tabular}{c} Certificate\\ Proofs \\ \end{tabular} } (Browser); % Monitor \path[path, dashed] (Website.15) -- node[relation]{% \includegraphics[width=.8cm]{img/magnify} } (Log.290); % Verify \path[path, rounded corners] (Browser.0) -| ($ (Browser) + (1.25,.75) $) node[relation, above]{ Verify } -| (Browser.30); \end{tikzpicture}