What condition on a "bibundle between categories" generalizes "right-principal bibundle between groupoids"? My question is long on background and motivation, and almost but not quite answered over at the nLab.  I'll write up a bunch before asking my question (feel free to skip to the end or look at the title), so that (i) those who know more than me can see exactly what I do and do not understand (ii) those that know less than me might learn something (iii) to clarify my own thoughts.
Background
Let $\mathcal S$ be a reasonably nice category: for example, I want it to at least have either all finite limits, or I want it to have a good theory of submersions; and I need some extra conditions (see comments), that I haven't fully thought through, but they should be satisfied in various "geometrical" categories like (your favorite convenient category of) Topological Spaces or Manifolds.  A span in $\mathcal S$ is a diagram $X \leftarrow M \rightarrow Y$, and if I can, I will require that the right map be a submersion.  There is a two-category $\operatorname{Span}(\mathcal S)$ constructed in the usual way: 1-morphisms are spans, and 2-morphisms are maps of spans that cover the identity morphisms on the bases.
A category object in $\mathcal S$ is a span $X = \{X_0 \leftarrow X_1 \rightarrow X_0\}$ and 2-morphisms $$  \{ X_0 \leftarrow X_0 \rightarrow X_0 \} \overset i \to \{X_0 \leftarrow X_1 \rightarrow X_0\}$$ $$ \{X_0 \leftarrow (X_1 \underset{X_0}\times X_1) \rightarrow X_0\} \overset m \to \{X_0 \leftarrow X_1 \rightarrow X_0\}$$ in $\operatorname{Span}(\mathcal S)$ making $X$ into an algebra object.  (The domain of $m$ is the 1-composition of $X$ with itself in $\operatorname{Span}(\mathcal S)$, and the domain of $i$ is the 1-identity span on $X_0$.)  Writing $\circ$ for the 1-composition in $\operatorname{Span}(\mathcal S)$, the requirement is that the various maps $X\circ X \circ X \to X$ formed from $m,i$ all agree.
A functor in $\mathcal S$ $\{X_1 \rightrightarrows X_0\} \to \{Y_1 \rightrightarrows Y_0\}$ is a pair of maps $X_1 \to Y_1$ and $X_0 \to Y_0$ making some diagrams commute.  But there tend not to be enough functors when $\mathcal S$ does not satisfy the axiom of choice.  For example, if $\mathcal S$ is the category of manifolds, then certain categories (the groupoids, which I will define in a moment) are supposed to present stacks, but the functor that associates to each manifold $M$ the groupoid of functors $\{M \rightrightarrows M\} \to \{X_1 \rightrightarrows X_0\}$ into some groupoid $X$ does not satisfy the right descent axioms.
Instead, the usual thing to do is to define the notion of "right-principal bibundles".  Let $X = \{X_1 \rightrightarrows X_0\}$ and $Y = \{Y_1 \rightrightarrows Y_0\}$ be categories.  An $X,Y$-bibundle is a span $B = \{X_0 \leftarrow B_1 \rightarrow Y_0\}$ and 2-morphisms $X \circ B \to B$ and $B \circ Y \to B$, such that all the various 2-morphisms $X \circ X \circ B \circ Y \circ Y \to B$ agree (as above, $\circ$ is the 1-composition in $\operatorname{Span}(\mathcal S)$).  The "tensor product over $Y$" gives a "composition" of bibundles which is associative up to a canonical associator that satisfies a pentagon.
Given a span $B = \{X_0 \leftarrow B_1 \rightarrow Y_0\}$, there is another span
$$ X_0 \leftarrow (B_1 \underset{X_0 \times Y_0}\times B_1) \rightarrow Y_0 $$
and a "diagonal" map from $B$ to this other span.  Let $B$ be an $X,Y$-bibundle.  Using the diagonal map, one can build a map
$$ B_1 \underset{Y_0}\times Y_1 \to B_1 \underset{X_0}\times B_1$$
which is actually a map of objects over $X_0 \times Y_0 \times Y_0$.  On (generalized) elements, this map is $(b,y) \mapsto (b,by)$.  The bibundle $B$ is right-principal if this map is an isomorphism.  A category $X$ is a groupoid if it is right-principal as an $X,X$-bibundle.  If $X,Y$ are groupoids, a functor $f: X \to Y$ determines an $X,Y$-bibundle where the middle object is $X_0 \underset {Y_0} \times Y_1$, and it is right-principal.
Then the point is that the 2-category whose objects are groupoids in $\mathcal S$ and whose one-morphisms are right-principal bibundles embeds as a full sub-2-category into the category of "stacks", which I will not define.  For a precise version of this story, see for example C. Blohmann, Stacky Lie groups, 2007.
Question
Any functor of categories in $\mathcal S$ determines a bibundle, but if the categories are not groupoids, then the bibundle is not (usually) right-principal; for example, the identity bibundle is not.  I do want the bibundles of groupoids to be "morphisms" of categories, so I don't want to just take functors.  On the other hand, as observed in Op. cit., if we don't demand some sort of "right-principality" condition, then the 2-category which allows all bibundles as 1-morphisms has neither products nor a terminal object.  Hence my question is:

What is the correct notion of "bibundle" for (internal) categories that generalizes "right-principal bibundle of groupoids"?

The answer to my question is almost "anafunctor".  An anafunctor seems to have a bit more structure than a bibundle, since it is an object not in $\operatorname{Span}(\mathcal S)$ but in $\operatorname{Span}(\text{categories in }\mathcal S)$.  (Conversely, at least when $\mathcal S$ is the category of sets, bibundles wihout any conditions are the same as profunctors.)  If I understood better how to go between anafunctors and bibundles, I would probably be happy.
 A: Hi Theo. This is something I have been working on lately. In Makkai's original paper on anafunctors he defines a condition on an anafunctor which makes it saturated. His motivations are logical, in that he wants the 'image' of a point in the domain category (pullback and pushdown along the span) to be closed under isomorphism. This is satisfied for his examples of (co)limit anafunctors, or an anafunctor arising from a universal property. In the case that he talks about saturated anafunctors between groupoids, this is the same as a right principal bibundle (in Set). When we replace groupoids by categories, then he defines a saturated anafunctor to be an anafunctor such that the underlying span between the cores is saturated. Thus the 'cover' (in Makkai's case, a surjection of sets) is a right principal bibundle for the underlying groupoids.
This is done so that the canonical 2-functor $Cat \to Cat_{sat.ana}$, where we do not assume choice, sends fully faithful, essentially surjective functors to equivalences in the bicategory $Cat_{ana}$. Actually I'm fudging here, because Makkai defines $Cat_{sat.ana}$ as a an anabicategory - a category weakly enriched over $Cat_{ana}$.
Note also that Street at one point defines in his Oberwolfach descent notes a definition of a 'torsor for a category' which is just the same as Makkai's definition. He correctly notes that there are non-invertible maps between such 'torsors', unlike the group(oid) case.
So to cut a long story short, it is possible to define a saturated anafunctor for internal groupoids and hence categories. (email me if you would like some notes on this)
But! This is not the same as a torsor for an internal category, as one could extract or otherwise from various places, e.g. Moerdijk's or Johnstone. See this answer. The two definitions are aiming at very different things. For example, a saturated anafunctor with codomain a topological monoid (as a one-object category) is trivial, but a torsor for the same is not. In general internal saturated anafunctors are about inverting weak equivalences between internal categories (fully faithful and essentially 'surjective': i.e. some map admitting local sections) but internal torsors are about characterising maps between topoi and classifying topoi and stuff (you can tell I know less about the latter).
A: Another comment (but too long to fit): Have you tried making sense out of "Morita equivalence" in this setting? The condition for fully-faithful is clear. For groupoids, $\varphi:H \to G$ is essentially-surjective if $t \circ pr_1:G_1 \times_{G_0} H_0 \to G_0$ is a cover (or if you want something stronger, submersion, in relation to  your other question), but this really just says that for every object $x$ of $G_0$ there is an arrow $f(y) \to x$ in $G$- SINCE $G$ is a groupoid, this is the same as essentially surjective, but for categories, it is not. I believe that this problem is related to the non-principality you have been running into.
However, I don't think that this is a real problem. You can generalize my answer to THIS question: Torsors for monoids, to show that torsors for a category object $C$ are the same as torsors for its groupoid of all invertible elements, $\tilde C$ (as objects, but they have different morphisms). But, this means that the stack associated to $C$ should satisfy that any map $T \to C$ with $T$ an object of your site, that the underlying object of its associated $C$-torsor ($\tilde C$-torsor) should be the weak pullback $T \times_{C} C_0$, which is the same as $T \times_{\tilde C} C_0$.
The upshot is, you don't WANT principality, but only principality with respect to the underlying groupoid. But, you do want to allow different morphisms between bibundles than before.
