Execute savepoint locks the db ? (sqlite)

Does creating a savepoint always lock the DB ?

I am wondering how this works with cubeSQL (or other multi user db). More precisely, if a user does a rollback to a certain savepoint, all the changes done by other users are missing ?

is there a way to know if a savepoint was made in order to warn a user or manually lock the db ?

How is this supposed to work ?

The save point should only lock items on that particular database object, and rollback should only roll back on that connection as well.