Core component of SQL Server for storing, processing, and securing data
windows does not currently support application based security
you could use sql standard security and an application unique login. while there is no 100% secure way to store the password, you can make it difficult to access. the password should be unique per box, so if a user cracks their computer, its not usable on another computer.
a more common approach is hosting the database behind a web server. the web api can limit the user to only supported requests. even if hosted on the same box, the web server can use a service account to access the database, so the user account does not access.
note: iOS, MacOs and non rooted Android support application containers where application data can be protected from user access, so a local database like SQLite can be protected. Maybe this will come to windows someday.