Let $(C, J)$ be a small site and let $\mathsf{Sh}_{(2, 1)}(C, J)$ be the $(2, 1)$-sheaf topos of sheaves of (small) groupoids on $(C, J)$. Let $G$ be a sheaf of groups on $(C, J)$, and let $\mathbf{Bun}_G$ be the hom-stack $[-, \mathbf{B}G]$, which is typically known as the moduli stack of principal $G$-bundles on $(C, J)$. [On the nLab][1], it is stated that (up to homotopy equivalences), principal $G$-bundles over a given base space $X \in (C, J)$, (i.e. objects of $\mathbf{Bun}_G(X)$) are homotopy pullbacks of the following form: $\require{AMScd}$ \begin{CD} P @>>> *\\ @V V V @VV V\\ X @>>> \mathbf{B}G \end{CD} Would anyone mind explaining to me why this is the case, and more over, how one might obtain "local trivialisations" out of the above pullback square ? The nLab article I linked does go into these topics, but their explanation is a bit too abstract non-sensical for me to be able to cut through. [1]: https://ncatlab.org/nlab/show/principal+bundle#in_terms_of_fiber_sequences