Privacy

How Your Information is Managed

BetterQ does not collect any sensitive information on its users. However, for the sake of transparency, here's a rundown on all the information BetterQ uses and how it's used.

How Q Uses Your Information

To understand how your information is used when you log into BetterQ, it helps to first understand how it's used when you log into Q.

When you enter your credentials and press the "Log In" button in Q Student Portal, a request is sent to Q's server to verify the information you entered is correct.

Q Login Diagram

If your entered credentials are valid, Q will return a response to your browser indicating that they are, along with a Set-Cookie header telling the browser to locally store a session cookie.

Q Set Cookie Diagram

With this, you're logged in. The session cookie that your browser stored is just a specific key-value pair that will be sent back to Q with subsequent requests so it can verify that you're authenticated without having to go through the login process over again.

For example, if you were to click on Q's "Assignments" page, a request would be sent to Q to load the Assignments page content, and your session cookie would be sent along with this request for Q to confirm you're logged in.

Q Cookie Validation Diagram

Only if this cookie is valid and "fresh" (it only remains useable for a fixed period of time after initial login), Q will send a response containing the HTML for the Assignments page content. This HTML is then rendered in your browser and you can scroll through it.

Q HTML Response Diagram

How BetterQ Uses Your Information

Any information you send in requests to BetterQ is directly sent to Q and any information BetterQ receives from Q is sent back to the browser. In this way, BetterQ behaves like a wrapper around Q, and nothing more: BetterQ's access to information/actions is strictly limited to the access you have when browsing Q on your own.

For the sake of demonstration, here's an example of what takes place when your browser sends a login request to BetterQ:

BetterQ Login Diagram

As you can see, BetterQ behaves exactly like how your browser does when you're using Q on your own. It directly sends your credentials to Q for validation without storing them anywhere in the middle. Note that, since connection to BetterQ is protected with TLS, your sensitive data is safe from interception while it's sent out in requests.

Once your credentials are validated, BetterQ sends down the session cookie it receives from Q and has it stored in your browser (without storing it in the middle).

BetterQ Set Cookie Diagram

Then, when you're using BetterQ (suppose you click on the courses page), BetterQ will request information just like your browser would, sending the cookie back to Q for validation:

BetterQ Cookie Validation Diagram

However, when receiving content from Q, BetterQ behaves differently from your browser. In the courses page example, before sending back the raw Assignments section HTML from Q, BetterQ parses the HTML for information, and all of it is formatted into BetterQ's user-friendly UI, which is then sent to your browser. With this, you're scrolling through BetterQ!

BetterQ HTML Response Diagram

Conclusion

BetterQ is really just a middleman between your browser and Q. It interfaces with Q much like your browser would when you're using Q yourself, but it sends information back in a more readable format with a user-friendly and robust UI. When you use BetterQ, data storage is handled exclusively by Q and your browser, so there is no added privacy concern to using it instead of Q.

If you need clarification or have more questions, please write me an email and I'd be more than happy to explain anything.