title: demystify Flask app.secret_key
body: <p>If <code>app.secret_key</code> isn't set, Flask will not allow you to set or access the session dictionary. </p>
  
  <p>This is all that the <a href="http://flask.pocoo.org/docs/1.0/quickstart/#sessions" rel="noreferrer">flask user guide has to say</a> on the subject.</p>
  
  <p>I am very new to web development and I have no idea how/why any security stuff works. I would like to understand what Flask is doing under the hood.</p>
  
  <ul>
  <li>Why does Flask force us to set this <code>secret_key</code> property? </li>
  <li>How does Flask use the <code>secret_key</code> property?</li>
  </ul>