[proofplan]
We show that the family of all GNS representations separates the points of $A$. For a nonzero element $a\in A$, the element $a^*a$ is a nonzero positive element, so state separation gives a state $\phi$ with $\phi(a^*a)>0$. The cyclic vector in the GNS representation for $\phi$ then detects $a$, since $\|\pi_\phi(a)\xi_\phi\|_{H_\phi}^2=\phi(a^*a)$. After verifying that all GNS summands form a separating family of states, the direct-sum faithfulness theorem gives that the universal representation is faithful.
[/proofplan]
[step:Show that every nonzero element is detected by some GNS summand]
Let $a\in A$ satisfy $a\neq 0$. Since $A$ is a $C^*$-algebra,
\begin{align*}
\|a^*a\|_A=\|a\|_A^2.
\end{align*}
Thus $a^*a\neq 0$. Also $a^*a$ is positive by the definition of the positive cone in a $C^*$-algebra.
By [citetheorem:8565], applied to the nonzero positive element $a^*a\in A$, there exists a state $\phi\in S(A)$ such that
\begin{align*}
\phi(a^*a)>0.
\end{align*}
Let $(H_\phi,\pi_\phi,\xi_\phi)$ denote the GNS triple associated to this state. In the GNS construction, the cyclic vector $\xi_\phi\in H_\phi$ satisfies
\begin{align*}
(\pi_\phi(x)\xi_\phi,\xi_\phi)_{H_\phi}=\phi(x)
\end{align*}
for every $x\in A$. Applying this identity to $x=a^*a$ and using that $\pi_\phi$ is a $*$-representation, we obtain
\begin{align*}
\|\pi_\phi(a)\xi_\phi\|_{H_\phi}^2
=
(\pi_\phi(a)\xi_\phi,\pi_\phi(a)\xi_\phi)_{H_\phi}.
\end{align*}
Using the adjoint relation for the Hilbert-space representation gives
\begin{align*}
(\pi_\phi(a)\xi_\phi,\pi_\phi(a)\xi_\phi)_{H_\phi}
=
(\pi_\phi(a^*a)\xi_\phi,\xi_\phi)_{H_\phi}.
\end{align*}
Therefore
\begin{align*}
\|\pi_\phi(a)\xi_\phi\|_{H_\phi}^2=\phi(a^*a)>0.
\end{align*}
Hence $\pi_\phi(a)\xi_\phi\neq 0$, and consequently $\pi_\phi(a)\neq 0$.
[guided]
Fix an element $a\in A$ with $a\neq 0$. The purpose of this step is to find one GNS representation in which $a$ does not vanish. The natural positive element attached to $a$ is $a^*a$. The $C^*$-identity gives
\begin{align*}
\|a^*a\|_A=\|a\|_A^2.
\end{align*}
Since $a\neq 0$, we have $\|a\|_A>0$, so $\|a^*a\|_A>0$. Hence $a^*a\neq 0$. The element $a^*a$ is positive by the definition of the positive cone of a $C^*$-algebra.
Now we use state separation for positive elements. The theorem [citetheorem:8565] applies because $A$ is unital and $a^*a$ is a nonzero positive element of $A$. It gives a state $\phi\in S(A)$ such that
\begin{align*}
\phi(a^*a)>0.
\end{align*}
Let $(H_\phi,\pi_\phi,\xi_\phi)$ be the GNS triple associated to this state. The GNS cyclic vector $\xi_\phi$ is chosen so that vector states against $\xi_\phi$ recover $\phi$:
\begin{align*}
(\pi_\phi(x)\xi_\phi,\xi_\phi)_{H_\phi}=\phi(x)
\end{align*}
for every $x\in A$. We apply this identity to the particular element $x=a^*a$. Since $\pi_\phi$ is a $*$-representation, it preserves products and adjoints, so
\begin{align*}
\pi_\phi(a^*a)=\pi_\phi(a)^*\pi_\phi(a).
\end{align*}
Therefore
\begin{align*}
\|\pi_\phi(a)\xi_\phi\|_{H_\phi}^2
=
(\pi_\phi(a)\xi_\phi,\pi_\phi(a)\xi_\phi)_{H_\phi}.
\end{align*}
Using the defining property of the Hilbert-space adjoint gives
\begin{align*}
(\pi_\phi(a)\xi_\phi,\pi_\phi(a)\xi_\phi)_{H_\phi}
=
(\pi_\phi(a)^*\pi_\phi(a)\xi_\phi,\xi_\phi)_{H_\phi}.
\end{align*}
Substituting $\pi_\phi(a)^*\pi_\phi(a)=\pi_\phi(a^*a)$ and then applying the GNS vector-state identity gives
\begin{align*}
\|\pi_\phi(a)\xi_\phi\|_{H_\phi}^2=\phi(a^*a)>0.
\end{align*}
Thus $\pi_\phi(a)\xi_\phi\neq 0$. In particular, the operator $\pi_\phi(a)$ is not the zero operator.
[/guided]
[/step]
[step:Verify that the full state space is a separating family]
Define the family of GNS representations indexed by the state space
\begin{align*}
\{\pi_\phi:A\to\mathcal{L}(H_\phi)\}_{\phi\in S(A)}.
\end{align*}
The preceding step proves that for every $a\in A$ with $a\neq 0$, there exists $\phi\in S(A)$ such that $\pi_\phi(a)\neq 0$. Hence this family separates points of $A$.
[/step]
[step:Apply the direct-sum faithfulness theorem]
The hypotheses of [citetheorem:8564] are satisfied with $S=S(A)$: $A$ is unital, and the preceding step shows that the family of states $S(A)$ is separating through its GNS representations. Therefore the direct-sum representation
\begin{align*}
\pi_u(a)=\bigoplus_{\phi\in S(A)}\pi_\phi(a)
\end{align*}
defines a $*$-representation
\begin{align*}
\pi_u:A\to\mathcal{L}(H_u)
\end{align*}
on
\begin{align*}
H_u=\bigoplus_{\phi\in S(A)}H_\phi.
\end{align*}
The same theorem gives that $\pi_u$ is faithful. This is exactly the asserted universal representation.
[/step]