In a large saucepan, melt the mozzarella cheese and cream cheese over low heat until it can be stirred together and remove from the heat. (Or microwave 1 - 1.5 minutes.)
Stir until well combined.
Add an egg and stir.
Add the almond flour and baking powder (and xanthan gum) and mix well.
Wet your hand and knead the dough until uniform. *Reheat the dough if it gets crumbly. Add flour little by little (like 1/2 tsp at a time) if the dough is too sticky.
Preheat the oven to 180 C / 350 F.
Place the dough on a parchment paper.
Top the dough with another piece of parchment paper and roll it out into a 15 x 12 inch (40 x 30 cm) rectangle.
Place the ham on the dough.
Spread the cream cheese on the ham.
Sprinkle the chopped nuts and black pepper.
Roll up the dough.
Place the seam side down on the parchment paper and form a ring. Seal the ends together. (* Wetting your hands definitely helps!)
Sprinkle the sea salt over the dough if desired.
With kitchen scissors or a knife, cut from outside edge to two-thirds toward the center of the ring at about 2 inch (5 cm) intervals.
Place the parchment paper with the dough onto a baking sheet.
Bake for 22 - 25 minutes.
Cool on a wire rack for 10 - 15 minutes.
Reheat in the oven / toaster oven before serving for fluffy texture.
Per Serving (with Almond Flour):
Calories 336 kcal, Protein 17.2 g, Total Fat 28.0 g, Total Carbohydrate 5.7 g, Dietary Fiber 2.1 g, Sugar 2.0 g