Security
Transparency is at the heart of our security model. Here is exactly how we keep FolioNames safe.
How apps run β sandboxed by default
Every embeddable app runs inside a locked-down iframe with a strict Content Security Policy. It cannot reach the FolioNames page around it, your session, or any other app β so trying an app can never expose your account or data.
Before an app is listed we check whether it can be safely embedded (its X-Frame-Options and CSP frame-ancestors headers). Apps that can't be embedded open in a new tab instead, rather than being forced into the sandbox.
Automated review before publication
Every submission goes through an automated, Claude-powered review before it can go public. The reviewer checks that the app is legitimate, that the permissions it requests match what it claims to do, and flags red flags such as phishing or misleading claims.
Everything a developer submits is treated strictly as untrusted content β the reviewer never acts on instructions hidden inside a listing.
Five-level risk classification
In parallel, every app is graded on a five-level risk scale: Minimal, Limited, Elevated, High and Unacceptable. Sensitive permissions β camera, microphone, location and payment β automatically raise the level, and the classifier can only ever raise the code-derived risk, never lower it (so a cleverly worded description can't talk its way down).
Minimal-risk apps with a clean review publish instantly. Anything higher, or anything flagged, is routed to a human moderator or rejected with feedback.
Safe handling of submitted URLs
Every URL a developer submits β and every URL we later health-check β is fetched through a guarded client that blocks requests to private networks, loopback and cloud-metadata addresses, rejects non-standard IP encodings, and limits redirects.
This means submission and monitoring can never be turned into a tool for probing internal infrastructure (SSRF).
Input sanitisation & XSS protection
All text a developer enters β name, tagline, descriptions β is sanitised server-side with DOMPurify before it is stored. Rendered rich text is sanitised the same way, and structured data (JSON-LD) is escaped, so a listing can never inject scripts into the pages that display it.
Continuous monitoring & auto-suspension
Publication is the start, not the end. Live apps are:
β’ health-checked every 15 minutes (Healthy / Degraded / Down);
β’ re-scanned nightly for HTTPS, a Content Security Policy, key security headers and an accidentally exposed .git directory;
β’ content-hashed every 6 hours to detect changes and prompt a fresh version.
Apps with repeated downtime or repeated failed security scans are automatically suspended until the issue is resolved.
Trust, verification & reviews
Each app and developer carries a trust score derived from review outcomes, ratings, uptime and security history. Developers can optionally verify their identity to earn a verified badge β it builds trust, but isn't required to publish. Ratings and reviews come from real, signed-in users.
Your data
FolioNames Ltd is the data controller under UK GDPR and the Data Protection Act 2018. We do not sell your data; we share it only with the service providers needed to run the platform (hosting, email, payments).
Authentication is handled in-house with securely hashed passwords and optional two-factor authentication, and you can export or delete your account and data at any time. For full detail, see our Privacy Policy.
Reporting a vulnerability
Found a security issue? Please report it via our security.txt file or email security@folionames.com. We aim to acknowledge within 24 hours and give an initial assessment within 72 hours, and we'll credit you (with your permission) once it is resolved.
Please give us reasonable time to fix an issue before disclosing it publicly.