Back
Terms & Privacy
Last updated: April 25, 2026

Terms of Service & Privacy.

Plain-language. No legalese. Everything you need to know about how SchoolSoft+ works and how your data is handled.

1. What SchoolSoft+ is

SchoolSoft+ is an independent, student-built web app that provides a faster and more enjoyable interface for your existing SchoolSoft account. It is not affiliated with, endorsed by, or in any way connected to SchoolSoft AB or Internationella Engelska Skolan.

SchoolSoft+ does not replace SchoolSoft — it reads data from it on your behalf, using your own credentials, and displays it in a modern dashboard. All official data ultimately comes from SchoolSoft's servers.

SchoolSoft+ is open source and released under the MIT License. The source code is publicly available at github.com/elias4044/schoolsoftplus. Developer documentation lives at developer.ssp.elias4044.com.

By using SchoolSoft+ you agree to these terms. If you don't agree, please don't use the service.

2. Your credentials & data

We take your privacy seriously. Here is exactly what happens when you log in:

  • Your username and password are sent directly to SchoolSoft's login endpoint over HTTPS — the same request your browser would make on the official site.
  • Your password is never stored — not in our database, not in any log, not anywhere. It is used once, forwarded, and discarded.
  • On a successful login, SchoolSoft returns session cookies (JSESSIONID, hash). We store these as httpOnly cookies so they can never be read by JavaScript.
  • Cookies expire after 7 days. You can sign out at any time to clear them immediately.
  • We store your username (lowercase) in Firebase for note and goal storage — see §4 below.
We never sell, share, or monetise any of your personal information. Ever.

3. Cookies & storage

SchoolSoft+ sets only the cookies it needs to function. No tracking, no advertising.

CookiePurposeExpires
ssp_jsessionidSchoolSoft session token (httpOnly)7 days
ssp_hashSchoolSoft auth hash (httpOnly)7 days
ssp_usertypeUser type flag (httpOnly)7 days
ssp_schoolYour school slug7 days
ssp_usernameYour username (not sensitive)7 days

No third-party tracking cookies are set. Local storage is used only for your dashboard widget layout preferences.

4. What we store in Firebase

We use Google Firebase Firestore to store data that belongs to you and needs to persist across sessions. All writes go through our server-side API; direct client writes are blocked by Firestore security rules except where explicitly noted.

CollectionWhat is stored
profiles_v1Display name, bio, location, website, profile picture URL, session snapshot.
notes_v2Your notes (title, Markdown content, status, optional share token).
conversations_v1DM conversation metadata (participants, last message preview, timestamps).
messages_v1Individual DM messages (content, sender, timestamps, reactions, reply context).
countdowns_v1Your personal countdown timers (title, target date, category, theme).
dashboard_layoutsYour dashboard widget layout and configuration.
stats/loginStatsAnonymous aggregate counters — no link to individual users.

Anonymous aggregate statistics (total logins, feature usage counts, login-hour histograms, active schools, total messages, reactions, AI requests) are stored in a separate Firestore document with no link back to any individual user.

You can request deletion of all your stored data by emailing us (see §12). We will process it within 7 days.

5. User profiles

SchoolSoft+ maintains a public profile for each user inside the profiles_v1 collection. Profiles are created and updated when you visit the Profile page.

  • Editable fields: display name (max 80 chars), bio (max 300 chars), location (max 80 chars), website URL, and profile picture URL.
  • Session snapshot fields (read-only, refreshed from SchoolSoft on every profile save): first name, last name, email address, school name, and user type.
  • Profile visibility: any authenticated SchoolSoft+ user can read your profile. Required for user-search and displaying names in conversations.
  • Profile picture URLs point to externally hosted images. We do not host images ourselves.
  • Your display name is automatically synced to all active conversations when you update it.
Do not put sensitive information (passwords, phone numbers, ID numbers) in your public profile fields.

6. Direct messaging

SchoolSoft+ includes a real-time direct messaging system. Messages and conversations are stored in Firebase Firestore and delivered via live listeners.

  • What is stored: message content, sender username, sender display name, timestamp, edit history flag, soft-delete flag, pin status, emoji reactions, and reply context.
  • Conversations are strictly one-to-one (DMs). Each stores participant usernames, display name snapshots, and a preview of the last message.
  • The client loads up to 100 most recent messages per conversation and up to 50 conversations.
  • Messages are soft-deleted — content is hidden but the record remains. Permanently purging requires a deletion request (see §12).
  • Firestore security rules ensure only participants can read a conversation or its messages. All writes go through our server-side API.
Do not send sensitive personal information, passwords, or illegal content. You are responsible for the content of messages you send.

7. AI assistant

SchoolSoft+ includes an AI assistant powered by Google Gemini. When you send a message:

  • Your message and relevant context (schedule, assignments) are sent to Google's API to generate a response.
  • Messages are subject to Google's privacy policy.
  • We do not store your AI conversation history in our database.
  • Messages are capped at 1,000 characters.
  • A rate limit of 8 messages per minute per IP address applies to prevent abuse.
Don't share sensitive personal information (passwords, ID numbers, etc.) with the AI assistant.

8. Notes & shared content

Notes you create are private by default and stored server-side in Firebase (the client SDK has no direct access to the notes collection). Notes support Markdown and can have a status of draft, published, or archived.

If you use the share feature, a unique public link is generated via a share token. Anyone with that link can view the note — you are responsible for what you share.

  • Do not share content that is illegal, harmful, or violates SchoolSoft's own acceptable use policy.
  • Shared notes can be deleted at any time from your notes list, which immediately revokes the public link.

9. Countdowns

SchoolSoft+ lets you create personal countdown timers. Countdowns are stored privately in Firebase under your username and are never visible to other users.

  • Each countdown stores: title, optional description, target date, category, colour theme, and emoji.
  • Countdowns can be pinned or archived; archived countdowns are kept until you delete them.
  • All reads and writes go through the server-side API.

10. Acceptable use

You agree not to:

  • Attempt to scrape, crawl, or automate requests to SchoolSoft+ or to SchoolSoft through SchoolSoft+.
  • Use the service to access another student's data without their consent.
  • Attempt to reverse-engineer, decompile, or tamper with the service.
  • Use the AI assistant or messaging feature to generate or send harmful, hateful, or illegal content.
  • Circumvent rate limits or other technical controls.
  • Upload or link to profile pictures or website URLs containing inappropriate or illegal content.

Violations may result in immediate suspension of access and, where appropriate, reporting to school administration.

11. Disclaimers & liability

SchoolSoft+ is provided "as is" with no warranty of uptime, accuracy, or fitness for any particular purpose. Because this service depends on SchoolSoft's own API, any changes or outages on their end will affect availability here.

  • We are not responsible for data shown being out of date or inaccurate — always check the official SchoolSoft portal for critical information.
  • We are not liable for any loss arising from use or inability to use SchoolSoft+.
  • These terms may be updated at any time. Continued use after an update constitutes acceptance.

12. Contact

Questions, data deletion requests, or bug reports — reach out:

SchoolSoft+ is an independent project, not affiliated with SchoolSoft AB or Internationella Engelska Skolan.

Home·Login help·Stats·Open Source·Developers·Not affiliated with SchoolSoft AB