  Sixty years after the experimental discovery of CP violation in the quark
sector, the existence of a similar CP violation in the lepton sector is still
to be established. Actually, the structure of such a violation depends
crucially on the origin of the neutrino masses. In an attempt at categorizing
the leptonic sources of CP violation, we studied the $\nu$SM, the Standard
Model extended with three generations of sterile neutrinos, that can
interpolate continuously between the Dirac and Majorana scenarios of neutrino
masses. In particular, we perform a classification of the Jarlskog-like flavor
invariants entering CP-violating observables and we study their suppression
with the heavy Majorana mass in the seesaw limit of the model. To simplify the
construction of the invariants, we introduce a graph-based method. With the
guidance of the Hilbert series and plethystic logarithm of the theory, we
construct the \emph{generating} and \emph{primary} sets of invariants for the
$\nu$SM for the first time. Unlike in the Standard Model and some other
theories, we find that the numbers of generating invariants and the syzygies
among them cannot immediately be read off from the plethystic logarithm, but
require a more careful examination. Our analysis reveals that the
\emph{generating} set contains 459 invariants, out of which 208 are CP-even and
251 are CP-odd. In the seesaw limit of the $\nu$SM, we show that all parameters
of the UV theory can be captured in the effective theory with a certain
suppression with the heavy Majorana mass, while these parameters can only
appear in a \emph{flavor-invariant} way with a \emph{higher} mass suppression.
Furthermore, we discuss how the necessary and sufficient conditions for CP
violation can be captured by utilizing these invariants. Along the way, we
present useful algorithms to enumerate and build the flavor invariants.
