Skip to content
FoodieHubBack

Security

Last updated 18 September 2026

FoodieHub handles real money and real student data, so it is built like it: verify everything server-side, trust nothing from the browser, and never store what you don't need.

Accounts and sessions

  • Verified sessions. Every API call carries a short-lived token that the server re-verifies — page shells never grant access by themselves.
  • Passwords are hashed with bcrypt; reset links are single-use and expire.
  • Suspended accounts stop ordering immediately while keeping read access to their own history.

Your data stays yours

  • Row-level isolation. Users, orders, wallets and notifications are scoped so accounts can only ever read their own rows — enforced in the database, not just the UI.
  • Secrets stay server-side. Payment keys and database credentials never ship to the browser; the app boots from a public config endpoint.
  • Hardened transport. Strict security headers, HTTPS-only cookies and rate-limited login and signup endpoints.

Money without shortcuts

  • Server-priced orders. The browser sends items and choices; prices, discounts, tax and fees resolve on the server and the bill is recomputed by the database. There is no way to pay less than the menu says.
  • Card data never touches us. Online payments run entirely through Razorpay — we store references, never numbers.
  • Every money movement is a ledger row. Wallet credits, settlements, refunds and reversals are append-only and admin-audited.

Report a vulnerability

Found something? Contact us with the details and steps to reproduce — please give us a reasonable window to fix it before disclosing publicly. We take every report seriously.

Questions about this page? Contact the FoodieHub team through your canteen or at the address listed above.