01 - Preheat oven to 350°F. Line a 9x9 inch baking pan with parchment paper, allowing overhang for easy removal.
02 - Combine graham cracker crumbs, melted butter, sugar, and salt in a medium bowl until evenly moistened. Press firmly into the bottom of the prepared pan. Bake for 10 minutes, then set aside to cool slightly.
03 - Beat cream cheese in a large bowl until completely smooth. Add sour cream and sugar, mixing until creamy and well combined. Beat in eggs one at a time, then incorporate vanilla and flour. Mix until just combined, being careful not to overmix.
04 - Pour the filling over the prepared crust and smooth the surface. Bake for 35 to 40 minutes until the center is set but still has a slight jiggle. Cool completely on a wire rack, then refrigerate for at least 2 hours.
05 - Heat sugar and water in a saucepan over medium heat, swirling the pan gently (do not stir) until the mixture turns a deep amber color. Remove from heat immediately and carefully whisk in butter until melted. Slowly pour in heavy cream while whisking continuously until smooth. Stir in sea salt if using salted caramel.
06 - Allow caramel to cool slightly, then pour evenly over the chilled cheesecake layer. Smooth the top with a spatula. Refrigerate for an additional hour until caramel is set.
07 - Using the parchment overhang, lift the bars from the pan. Cut into 16 equal squares and serve chilled. Store leftovers in the refrigerator.