Security
Designed to share less, for less time.
Security is a product boundary, not a slogan. SitSorted minimises what it collects, separates owner records and rechecks shared access on every sitter request.
Owner boundaries
- Invite allowlist before a magic link is requested.
- Supabase sessions with PKCE and server-managed cookies.
- Row-level security on every private business table, with a direct owner identifier and composite relationship constraints.
- Ordinary owner access uses the signed-in user context so row-level policies stay exercised.
Sitter access
- At least 32 cryptographically random bytes per link, encoded for URLs.
- Digest-only token storage; the raw sharing URL is returned once.
- HttpOnly, Secure, SameSite=Lax sitter cookie with link and trip identifiers, session version and expiry only.
- Link validity and resource ownership are rechecked on every request; revocation and replacement invalidate stale sessions.
Browser and network controls
- Private routes use no-store and noindex; token and sitter surfaces use a no-referrer policy.
- JSON mutations require same-origin requests, validated schemas and bounded payloads.
- A restrictive content security policy and safe text rendering reduce browser attack surface.
- Distributed rate limits use short-lived HMAC-derived buckets without retaining raw IP addresses.
Operational safeguards
Authentication, database policies, cross-owner isolation, revocation and accessibility are checked before release changes. If a critical control fails, affected access is kept closed or rolled back while the issue is corrected.
Safer sharing
Never place door, alarm or Wi-Fi credentials in free text. Share those through a separate trusted channel. Treat a live-brief link like a house key: send it directly, revoke it when plans change, and do not post it in a shared group.