P

PostHub

Waking up your workspace

Security at PostHub

Layer after layer of everyday protection

Security should not need a dictionary. Below is everything PostHub does to keep your account and your content safe — written the way we would explain it to a friend, with no roadmap talk and no certificates we have not earned.

Defence in depth

Ten layers stand between an attacker and your content

No single lock does all the work. Tap any layer to see what it does in plain English.

Security layers · 01–10
01Sign-in sessions that expire and protect themselves

When you sign in you get a short-lived pass plus a longer refresh pass. Each time it refreshes, a brand-new pass replaces the old one. If an already-used pass shows up again we assume it was stolen, shut down every session in that family instantly and record the attempt as a security event. Changing your password or choosing "log out everywhere" switches off every older session too.

02Strong password storage with automatic lockouts

Passwords are stored as one-way scrambles — we never keep the real thing. Three wrong passwords on one account within ten minutes locks it for fifteen minutes and sends you an alert email, throttled to one per hour. Our staff sign-in page locks the requesting address for thirty minutes after five straight failures, and the counters live in our database, so a server restart never resets them.

03We slow down anyone who floods the site

We limit how many requests someone can make in a given window to stop abuse and keep the site running smoothly for everyone. The counters stay correct even when many requests arrive at once and survive server restarts. Important routes — signing in, one-time codes, password resets, uploads, staff pages — shut the door rather than open it if the counting system is ever unavailable.

04Requests are verified as really coming from PostHub

We verify that requests come from our own site, not from malicious third parties. Before any action that changes data, we compare the browser’s origin information against a trusted list, respect the browser’s own site hints when it sends them, and check a signed token tied to your session. Dozens of routes use this protection today.

05Uploads are checked by what they really are

We look inside every file to confirm it is a real image (PNG, JPEG or WebP) instead of trusting the file name. Images are then rebuilt from scratch, which strips hidden extras like GPS location data and anything secretly appended to the end. The file is stored under a name we invent, never the one you uploaded. Sign-in checks, rate limits and your storage quota all run before anything touches the disk.

06The server cannot be used to snoop on private networks

We prevent the server from being tricked into accessing internal network resources. Whenever the app fetches a web address, it first checks where that address really points, blocks private or internal destinations, and stays pinned to the safe answer even when redirects change course. If something goes wrong you get a short, plain error — never internal details or a stack trace.

07Your connected accounts are encrypted on our servers

Your data is encrypted on our servers, so even if someone reached our storage they could not read it. Access tokens from connected social accounts are sealed with strong AES-256 encryption and opened only inside our server code when publishing or reading analytics. They are never sent to your browser, never written to logs, and are wiped the moment you disconnect an account.

08Locked-down browser settings on every page

Every response tells the browser to only ever use a secure connection, blocks clickjacking attempts, refuses unsafe file-type guessing, limits leaked referrer information and switches off camera, microphone, location and payments. A strict content security policy rides along on every response and can be flipped to full enforcement with one setting.

09Safety settings are checked before the app starts

We check that all security settings are properly configured before the app starts. If a required key is missing or looks wrong, the app refuses to boot with a clear message instead of quietly running with weaker protection than you were promised.

10Automated checks on every change — plus one honest gap

Tests covering our security guards run on every code push, alongside a secret scanner and an extra check that flags risky database queries before they ship. One thing we built but have not switched on yet: a captcha challenge on the sign-in page. Rate limits and lockouts cover those pages in the meantime — we would rather tell you plainly than imply a protection that is not active.

The four domains

Where the protection actually lives

Every measure above belongs to one of four domains. Together they cover your data, who can reach it, the network around it, and how we keep ourselves honest.

01

Data Protection

What we store, and how it is sealed away.

  • Everything you store with us is encrypted while it sits on our servers.
  • Connected social accounts are protected with bank-grade AES-256 encryption.
  • Uploaded images are checked, rebuilt, and stripped of hidden location data.
  • Your password is never saved — only a scrambled one-way version.
02

Access Control

Who can get in, and what happens when they should not.

  • Sessions expire, refresh safely, and are killed instantly if a stolen token is reused.
  • Too many wrong passwords locks the account and sends you an alert email.
  • Staff-only areas lock the requesting address after repeated failed attempts.
  • We never see or store the password you use for any social network.
03

Network Security

The gate between PostHub and the wider internet.

  • We check that requests come from our own site, not from malicious third parties.
  • The server cannot be tricked into opening internal or private network addresses.
  • We limit how many requests someone can make, keeping the site smooth for everyone.
  • Every page ships with locked-down browser security headers.
04

Monitoring & Compliance

How we catch mistakes — and what we refuse to overclaim.

  • Automated tests run on every code change, covering the security-critical paths.
  • Secret scanners and injection guards run in our build pipeline before anything ships.
  • Reused session tokens are recorded as security events we can investigate.
  • We hold no outside certification, and this page will never pretend otherwise.
Report a vulnerability

Tell us before you tell the internet

If you find something wrong — a way into someone else's account, a leak of stored data, an access path that should not exist — write to support@posthub.shorix.io with what you did, what you expected and how to reproduce it. You will get a human reply acknowledging the report, followed by an honest timeline while we fix it. We will not threaten you for reporting in good faith, and we will coordinate the disclosure with you rather than around you.

To be straight with you: there is no paid bug-bounty program here. PostHub is a small team and we will not advertise rewards we cannot fund. Reports are still read, prioritised and fixed — and if you want credit when the fix ships, say so and we will give it.

Contact the team
No certifications claimed

What we do not claim

  • No SOC 2, ISO 27001, PCI or third-party penetration-test badge. We hold none of them, so this page will not imply otherwise.
  • No claim of being immune to every attack. The layers above are real, but they are layers — not a guarantee.
  • Captcha on sign-in is built and tested but not switched on yet — see layer 10.

This page is reviewed whenever one of the systems above changes. If you spot something here that the code no longer does, tell us and we will correct the page.

support@posthub.shorix.io