Let
S
S
be an operator system–a self-adjoint linear subspace of a unital
C
∗
C^*
-algebra
A
A
such that
1
∈
S
\mathbf 1\in S
and
A
=
C
∗
(
S
)
A=C^*(S)
is generated by
S
S
. A boundary representation for
S
S
is an irreducible representation
π
\pi
of
C
∗
(
S
)
C^*(S)
on a Hilbert space with the property that
π
↾
S
\pi \restriction _S
has a unique completely positive extension to
C
∗
(
S
)
C^*(S)
. The set
∂
S
\partial _S
of all (unitary equivalence classes of) boundary representations is the noncommutative counterpart of the Choquet boundary of a function system
S
⊆
C
(
X
)
S\subseteq C(X)
that separates points of
X
X
. It is known that the closure of the Choquet boundary of a function system
S
S
is the Šilov boundary of
X
X
relative to
S
S
. The corresponding noncommutative problem of whether every operator system has “sufficiently many" boundary representations was formulated in 1969, but has remained unsolved despite progress on related issues. In particular, it was unknown if
∂
S
≠
∅
\partial _S\neq \emptyset
for generic
S
S
. In this paper we show that every separable operator system has sufficiently many boundary representations. Our methods use separability in an essential way.