On a linux server, the /tmp directory is the default location for php sessions. This directory is cleared whenever it hits a threshold or by any number of processes. This means any session variables can be purged at inconvenient times. This is even more annoying on a shared server.
In CMSB prior to 3.67, there is an option in general settings to set a custom tmp directory. HOME directories have there own tmp directories, so setting the cmsb tmp to ~/tmp will mitigate the issue of random logout or missing CSR tokens.
The $HOME/tmp directory Is not purged except on a server restart. Sessions will expire at appropriate times set by the expiry date and are not purged by other processes. You can purge the directory manually or set a cron job to automatically prune this directory if desired.
Jeff Shields