Mango360 — interactive 360° virtual toursMango360
Security and trust

Security and trust

What the platform actually does to protect your data, and — just as important — what it does not do yet.

Last reviewed: 21 October 2026

This page is written from the implementation, not from a template. Every control below exists in the product; every control we have not built is listed further down with the reason. If something here is out of date, write to us and we will correct it.

Access control

Who can reach your data, and what they can do with it once they are in.

Every account is a named person

Accounts are created against a verified e-mail address with a password. There are no shared logins, no default accounts and no demo workspace with real content in it.

  • Accounts are created against a verified e-mail address with a password
  • No shared or generic accounts — access is always attributable to a person
  • The last owner of a workspace cannot be removed, so a workspace can never be orphaned

Roles, enforced on the server

A workspace has four roles. The check happens in the API and in the database, not in the interface, so a modified client cannot talk its way past it.

  • Owner — billing, members, domains and everything below
  • Admin — members, domains, projects, publishing
  • Editor — create and publish tours, no access to billing or members
  • Viewer — read-only access to projects and analytics
  • Role checks run server-side on every write, and only an Owner can promote someone to Owner

Row-level security in the database

Every workspace table has row-level security enabled. A query that does not carry the right organisation context returns no rows — not filtered rows, no rows.

  • RLS is enabled on all twelve workspace tables, including projects, tours, scenes, hotspots, assets and leads
  • Cross-workspace reads are impossible at the database level, not merely blocked in application code
  • Service-role access exists only inside the server, for the handful of operations that need it (audit writes, rate-limit bookkeeping)

Data protection

What is encrypted, what is hashed, and what is deliberately truncated.

Everything is served over HTTPS

Every response from the marketing site and the studio carries HSTS, a content security policy, and the standard anti-sniffing and framing headers.

  • TLS on every page, API call and embed
  • HSTS, CSP, X-Content-Type-Options, Referrer-Policy and Permissions-Policy on every response
  • The viewer and embed routes are served with no-store, so a tour is not cached on a shared machine

Access passwords are hashed, never stored

A tour protected by a password stores a scrypt hash. The comparison is constant-time, so the response does not leak how much of the password was correct.

  • scrypt hashing with a per-tour salt
  • Timing-safe comparison on every attempt
  • The unlock cookie is httpOnly, Secure and SameSite=Lax, and expires after 24 hours
  • Five attempts per minute per IP; the sixth is refused with a Retry-After header

Visitor IP addresses are truncated

Analytics store the visitor's network rather than the address itself. A full IP is never written to the database.

  • IP addresses are truncated to the /16 network before they are stored
  • The truncated value is used for unique-visitor counting and nothing else

Published content

How a published tour is protected once it is live.

Published versions are immutable

The build a visitor is looking at cannot change underneath them. Changes ship as a new version, and any previous version can be restored.

  • A published version is frozen — the same build serves every visitor
  • Full version history with one-click rollback
  • Visibility is explicit: public, unlisted or password-protected

Access rules you can tighten

Beyond the password, a tour can be given an expiry date or restricted to a set of domains that are allowed to embed it.

  • Expiring share links — the tour stops resolving on the date you set
  • Domain allow-lists — the embed is refused on any host that is not on the list
  • Both are enforced on the viewer and on the embed, not only in the editor

Your content is portable

A tour can be exported at any time as a package containing the configuration and the source panoramas, so leaving Mango360 does not mean losing your work.

  • Per-tour export: scene graph, hotspots, floor plans and branding as JSON, plus the source panorama files
  • Analytics and lead data export to CSV
  • Exports are produced on demand, with no lock-in window

Abuse prevention

The limits that stop one client from consuming the platform.

Every write endpoint is rate limited

Each write path has its own budget, keyed by IP address, and answers with the standard rate-limit headers so a well-behaved client can back off correctly.

  • Ten publishes per minute, twenty unpublishes per minute, twenty rollbacks per minute
  • Sixty analytics events per minute, thirty panorama processing jobs per minute
  • Five lead submissions per ten minutes — the tightest budget in the system
  • Responses carry X-RateLimit-Limit, X-RateLimit-Remaining and Retry-After

Publishing is a controlled operation

Publishing is the most expensive thing a client can ask the platform to do, so it carries the tightest write budget and the most validation.

  • Every publish is a new immutable version with a full audit entry
  • Version history records who published, when, and which version

Operations and monitoring

How the service is observed and kept running.

Errors are monitored, not guessed

The studio application reports errors and performance traces to Sentry, including session replay, so a fault is noticed before a customer reports it.

  • Client error reporting and performance tracing in the studio application
  • Session replay for reproducing a fault without asking the user to describe it

The audit trail

Administrative actions are recorded with the actor and the timestamp. This is a record for investigation, not a screen in the interface — if you need a per-action report, ask us and we will pull it from the database.

  • Recorded: publishes, unpublishes, tour and project deletions, domain creations and verifications, live-session starts and ends, lead status changes
  • Each entry stores the acting user, the action, the target and the time
  • Sign-ins and membership changes are not recorded yet

Privacy and legal

The documents and the people behind them.

Published policies, named contacts

The privacy policy and the terms of service are public and versioned, and each has a mailbox attached to it that a person reads.

  • Privacy policy and terms of service, published on this site
  • privacy@mango360.app for data-protection requests
  • legal@mango360.app for contracts and agreements
  • support@mango360.app for product questions

Data subject requests

Requests to access, correct or delete personal data are handled by e-mail. We answer the ones that concern visitor data directly and forward the ones that concern your account data to the workspace owner.

  • Access, correction and deletion requests at privacy@mango360.app
  • We will confirm what we hold for a given visitor before acting on it

Subprocessors and agreements

The list of service providers we rely on is available on request, as is a data processing agreement. Neither is a self-serve download today, and we would rather say so than pretend otherwise.

  • The current subprocessor list is sent on request
  • A data processing agreement is available for Business and Enterprise customers

Not available yet

This is the list of controls a security review will ask about and we cannot answer with a yes. We publish it because a vendor that hides the gaps is harder to assess than one that names them.

SSO / SAML / OIDC single sign-on

Authentication is e-mail and password only. There is no identity-provider integration in the product today. If your organisation requires SSO, treat this as a blocker and talk to us before you commit.

SOC 2 Type II and ISO 27001

We are not certified and no certification audit is in progress. We will not put a badge on this page that we cannot show a report for.

Data residency and regional storage

All data lives in a single region, and there is no option to select another one. The region is documented in the subprocessor list sent on request.

Published backup, RPO and RTO commitments

We do not publish a recovery-point or recovery-time objective. If your policy requires one, that is a question to answer in a contract rather than on a website.

Public status page and uptime SLA

There is no public status page and no uptime percentage we commit to. Incidents are reported to affected customers by e-mail.

Encryption at rest with customer-managed keys

Storage is encrypted by the provider with provider-managed keys. Customer-managed keys and BYOK are not available.

Where your data lives

The same table is what we walk a customer's security team through. It is deliberately specific about retention, including the places where we do not yet delete automatically.

WhatWhereRetention
Panorama images, floor plans and media you uploadObject storage (Supabase Storage) in a single regionUntil you delete the project
Tour configuration: scenes, hotspots, floor plans, branding, published versionsPostgreSQLUntil you delete the project; published versions survive a tour deletion
Analytics events: views, scene retention, hotspot clicksPostgreSQLNo automatic deletion today. Export to CSV and ask us to purge
Lead submissions from tour forms and from this sitePostgreSQLUntil you delete them or close the workspace
Account records: e-mail, password hash, workspace membership and rolePostgreSQL (Supabase Auth)Until the account is closed

Questions we get in reviews

Is there a status page I can subscribe to?
No. We do not publish one, and we do not publish an uptime figure. Incidents affecting your tours are reported to the workspace contacts by e-mail.
Do you sign a data processing agreement?
Yes, for Business and Enterprise customers. It is not a self-serve document — contact legal@mango360.app and we will send the current version.
Can I keep my data in the EU?
The platform runs in a single region, and the region is stated in the subprocessor list we send on request. We cannot currently offer a choice of region.
How do I get my data out?
Any tour can be exported as a package containing the configuration and the source panoramas. Analytics and lead data export to CSV. Both are available on demand, including after you have cancelled.
Are analytics events deleted automatically?
No, and we would rather say so than imply otherwise. Export the data and ask us to purge it, and we will confirm in writing when it is done.
Do you support single sign-on?
Not yet. Authentication is e-mail and password. If SSO is a requirement for your organisation rather than a preference, talk to us before you sign anything.

Found something?

Send the details to security@mango360.app. We will acknowledge the report, and we will tell you whether we are going to fix it before we ship the fix. If you are looking for something specific that is not on this page, ask — we will answer rather than point you at a PDF.