In a small bowl combine and stir together the coconut milk and coconut water. Divide the coconut milk mixture.
In a small bowl, add 1 cup of the coconut mixture with the cornstarch and sugar. Using a wire whisk, combine the ingredients to form a slurry so that all the cornstarch and sugar are dissolved and the mixture is smooth; set aside.
In a medium-size saucepan over medium heat, combine the remaining 3 cups coconut mixture and the vanilla extract. Stirring occasionally, heat the mixture to almost a boil; stir in the cornstarch mixture and let simmer from 5 to 12 minutes to thicken, stirring constantly. Another important tip is to stir slowly, (do not whisk) which will prevent too much air from being incorporated in the custard and will produces smaller ice crystals.
Remove from heat and transfer the mixture to a bowl. Cover and refrigerate until completely chilled, preferably overnight.
Prior to using the custard mixture, pour the chilled custard through a strainer into a mixing bowl to clear out any clumps that may have formed. Store in the refrigerator until ready to use.
Prepare the Flavor Variation (of your choice).
Stir in your chosen flavor(s) into the prepared chilled custard. The gelato mixture is now ready for the freezing process.
Transfer the mixture into your ice cream maker and freeze according to the manufacturer's instructions. Either churn your ice cream by hand or by motor. With Gelato, it is best to not process it until it is hard. Instead, stop the ice cream maker at soft serve consistency, then put it in a container in your freezer until hard for a delicate flavor and texture that differentiates it from ice cream.
When the gelato is done, either serve and enjoy (best if eaten and enjoyed immediately as gelato has a shorter storage life than ice cream) or transfer to freezer containers and freeze until firmer.
Vegan Gelato Recipes: https://whatscookingamerica.net/desserts/vegan-gelato.htm