\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] (Website) at (0,0) { Website };
	\node[entity, fill=darkGreen, below=1.5cm of Website] (Browser) {Browser};
	\node[entity, fill=darkOrange, left=1.5cm of Website] (Log) {Log};
	\node[entity, fill=darkRed, below=1.5cm of Log] (Monitor) {Monitor};

	% Get certificate and proofs of logging
	\path[path] (Website) --
			node[relation, right] {
				\begin{tabular}{c}
					Certificate\\
					Proofs of logging\\
				\end{tabular}
			}
		(Browser);
	% Verification
	\path[path, rounded corners]
		(Browser.180) -|
		($ (Browser) + (-1.25,-.75) $)
			node[relation, below]{
				Verify
			} -|
		(Browser.210);
	
	% Monitoring
	\path[path] (Monitor) edge[bend right]
			node[relation,right]{}
		(Log);	
	\path[path] (Log) edge[bend right]
			node[relation,left]{}
		(Monitor);
	\path[path, rounded corners]
		(Monitor.180) -|
		($ (Monitor) + (-1.25,-.75) $)
			node[relation, below]{
				Mis-issuance?
			} -|
		(Monitor.210);

	% Get proofs
	\path[path, dashed] (Log) --
			node[relation,above]{Proofs of logging}
		(Website);

	% Add certificates to log
	\path[path, dashed] ($ (Log) + (-2,0) $) --
			node[relation, above] { Certificates }
		(Log);
\end{tikzpicture}
