01 - Preheat oven to 350°F. Line a 9x9 inch baking pan with parchment paper, leaving an overhang for easy removal.
02 - In a medium bowl, combine graham cracker crumbs, melted butter, sugar, and salt. Mix until evenly moistened. Press firmly into the bottom of the prepared pan. Bake for 10 minutes. Let cool slightly.
03 - In a large bowl, beat cream cheese until smooth. Add sour cream and sugar, mixing until creamy and well combined. Beat in eggs one at a time, then add vanilla and flour. Mix until just combined, being careful not to overmix.
04 - Pour cheesecake filling over the crust and smooth the top. Bake for 35-40 minutes, or until the center is set but still slightly jiggly. 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 occasionally (do not stir) until the mixture turns deep amber in color. Remove from heat and carefully whisk in butter. Slowly add heavy cream while whisking until smooth. Add salt if making salted caramel.
06 - Let caramel cool slightly, then pour evenly over the chilled cheesecake layer. Spread to cover completely. Refrigerate for another hour until set.
07 - Lift the bars from the pan using the parchment paper overhang. Cut into 16 squares and serve chilled.