Security report for sitejs.org
Small Technology Foundation · Technology · Ireland
Medium risk. 6 critical or high findings in Security headers, GDPR outside view and 1 other check.
Site.js is an open-source web construction set developed and maintained by the Small Technology Foundation, a non-profit organization based in Ireland. The platform targets individual users and small-scale developers, providing tools to develop, test, sync, and deploy static and dynamic websites easily. It integrates modern technologies such as Node.js, Express.js, Hugo static site generator, and DotJS for dynamic routing, with automatic TLS provisioning via Let’s Encrypt and mkcert. The project emphasizes simplicity, security by default, and freedom, catering to the 'Small Web' community rather than enterprises or governments. Technically, Site.js demonstrates a mature and modern infrastructure with support for multiple platforms (Linux, macOS, Windows), integrated static site generation, dynamic JavaScript routing, WebSocket support, and a built-in JavaScript database (JSDB). The website is well-designed, mobile-optimized, and provides comprehensive documentation and examples, reflecting a high level of digital maturity. From a security perspective, Site.js benefits from automatic TLS everywhere, secure WebSocket implementations, and no visible vulnerabilities or exposed sensitive data. However, the website lacks explicit security headers and formal privacy or cookie policies, which are areas for improvement. The WHOIS data is malformed and lacks transparency, but the website's open-source nature and non-profit affiliation support its legitimacy. Overall, Site.js presents a low-risk profile with strong technical and business credibility, though it would benefit from enhanced privacy compliance and security policy disclosures to further strengthen trust and compliance.
Scanned
NIS2 and GDPR posture
- GDPR outside view
- 50/ 100 · Medium
- Checks completed
- 7of 7
NIS2 Art. 21(2)
- (a) Risk analysis and security policies: Not visible from outside
- (b) Incident handling: One indicator
- (c) Business continuity, backups and crisis management: Not visible from outside
- (d) Supply chain security: Not visible from outside
- (e) Secure acquisition, development and maintenance, including vulnerability handling: Partly checked
- (f) Assessing the effectiveness of security measures: Not visible from outside
- (g) Cyber hygiene and security training: Not visible from outside
- (h) Cryptography and encryption: Partly checked
- (i) HR security, access control and asset management: One indicator
- (j) Multi-factor authentication and secured communications: Not visible from outside
This scan rated NIS2 with an earlier keyword method that is no longer shown; rescan for the per-article view. Risk management, continuity, supply chain, training, MFA, management oversight (Art. 20) and incident reporting (Art. 23) need internal evidence, and Guard cannot tell whether NIS2 applies to this organisation.
GDPR is indicative only, based on publicly visible signals: Articles 7, 12, 13 and 32 of Regulation (EU) 2016/679 and Article 5(3) of the ePrivacy Directive. Not a certification or legal assessment.
Priority findings
6 findings rated critical or high. Fix these first.
Security headers
Security headers are instructions your web server sends to every visitor’s browser. Missing ones leave visitors more exposed to attacks such as clickjacking and injected scripts.
- High
Missing Strict-Transport-Security header
Forces HTTPS connections
What to do: Add "Strict-Transport-Security: max-age=31536000; includeSubDomains; preload"
- CWE-319
- OWASP A04:2025
- ASVS V3.4.1
- RFC 6797 §6.1.1
- Mozilla TLS: Mozilla Server Side TLS 6.0 intermediate: hsts_min_age 63072000
- NIS2 21(2)(h)
- IR 2024/2690 9.2(a): Implementing Regulation (EU) 2024/2690, Annex point 9.2(a): Cryptography
- NIST SC-8: NIST SP 800-53 Rev. 5 SC-8: Transmission Confidentiality and Integrity
- High
Missing X-Frame-Options header
Prevents clickjacking attacks
What to do: Add "X-Frame-Options: DENY" or "X-Frame-Options: SAMEORIGIN"
- CWE-1021
- OWASP A06:2025
- CAPEC-103
- ASVS V3.4.6
- OWASP Secure Headers: OWASP Secure Headers Project recommends X-Frame-Options: deny
- RFC 7034
- High
GDPR outside view
These are the privacy signals visitors and data protection authorities look for under GDPR.
- High
No Privacy Policy found
GDPR requires a clear and accessible privacy policy
What to do: Add a comprehensive privacy policy page and link to it prominently
- GDPR Art. 12
- GDPR Art. 13
- NIST PT-5: NIST SP 800-53 Rev. 5 PT-5: Privacy Notice
- High
No Cookie Policy found
GDPR requires clear information about cookie usage
What to do: Add a dedicated cookie policy explaining cookie usage and purposes
- High
No Cookie Consent Banner found
GDPR requires explicit consent for non-essential cookies
What to do: Implement a cookie consent banner that appears on first visit
- GDPR Art. 7
- ePrivacy Art. 5(3)
- NIST PT-4: NIST SP 800-53 Rev. 5 PT-4: Consent
- High
Need hands-on remediation? Email guard@offseq.com
Keep watching sitejs.org
This scan found 21 issues across 6 checks. Monitoring re-runs those checks daily, emails you when something material changes and records each fix, so you can show progress.
Daily monitoring
Recommended€25per month
- TLS certificates and expiry
- DNS records
- SPF, DKIM and DMARC
- Security headers
- GDPR and NIS2 posture
- Exposed services
- Third-party trackers
- Security score drift
Email alerts on material changes and an exportable JSON history of every change.
Billed monthly to your card. Cancel anytime. See sample alerts.
Full report
€39.90one-time
- The complete analysis as a PDF you can cite
- Email delivery with an unlock code
- Lifetime access to this report
Prices incl. 21% VAT. Secure checkout by Mollie; sold by SEQ SIA, Latvia.
Results by check
Each check with its score, findings and the evidence it collected.
How this score is calculated
The security score runs 0–100, higher is better. It is the plain average of the security checks that completed in this scan, each counted equally. A check that could not run is left out: it counts neither as a pass nor as a fail.
Counted in this score
- SSL/TLS
- 82
- Security headers
- 40
- Email security
- 75
- DNS health
- 75
- Network security
- 100
- GDPR outside view
- 50
- Average
- 70
Not counted
- NIS2 outside view: Re-weights evidence from the TLS, email, DNS, network and hygiene checks, so counting it would count that evidence twice. Shown on its own.
- OffSeq Observations: An AI reading of the site, useful context but not reproducible evidence. Shown on its own.
Findings that cap the score at 49
Each of these is serious on its own, so while any is present the site cannot rate better than high risk, however good the other checks are.
- The certificate is not trusted by browsers
- The website is not served over HTTPS
- A database, remote desktop, file-sharing or Telnet service is reachable from the internet
- The page loads a script from a compromised source
- The domain registration has expired
- SPF authorises every server to send mail as the domain
Partial scans
When the site blocks Guard or most checks cannot run, the score covers only the checks that ran (usually DNS and email), is capped at 75 and is shown as partial, without a risk level.
Risk levels
- Critical0–25
- High26–49
- Medium50–75
- Low76–100
Technical appendix
Business context, site observations and technical notes gathered during the scan, and the standards behind each reference.
Business context
Business profile
Security posture
Recommendations
- Publish comprehensive privacy and cookie policies to improve GDPR compliance and user trust.
- Implement and display explicit security headers (e.g., Content-Security-Policy, X-Frame-Options) to enhance protection against common web attacks.
- Establish and publicize a vulnerability disclosure policy and security contact information to improve incident response readiness.
- Improve WHOIS transparency if possible to strengthen domain trustworthiness.
- Consider adding a security.txt file to facilitate security communications and disclosures.
Site observations
Automated reading of the public site. Ratings are indicative.
Business
- Company
- Small Technology Foundation
- Description
- Site.js is a small web construction set designed for individuals to develop, test, sync, and deploy websites and web applications easily. It supports static and dynamic sites, automatic TLS, and includes features like WebSockets and a built-in JavaScript database. The project is maintained by the Small Technology Foundation, a tiny not-for-profit based in Ireland focused on tools for individuals rather than enterprises or governments.
- Key services
- Static and dynamic site hosting, Automatic TLS provisioning, Integrated Hugo static site generator, DotJS dynamic routing, WebSocket support, JavaScript in-memory database (JSDB), Proxy server with automatic TLS
- Content quality
- excellent
- Branding
- consistent
Technology
- Stack
- Node.js, Express.js, DotJS, Hugo, JavaScript, WebSockets, Let’s Encrypt, mkcert
- Frameworks
- Express.js, Hugo static site generator
- Platforms
- Linux, macOS, Windows
- Performance
- fast
- Mobile
- good
- Accessibility
- good
- SEO
- good
Security
- Observed score
- 90/100
- Good practices seen
- Automatic TLS everywhere
- Secure WebSocket support
- No exposed sensitive data in HTML
- No vulnerable libraries detected in scripts
- Secure dynamic routing with DotJS
- Automatic certificate renewal
Analytics and tracking
- Services
- archive.org internal analytics
- Tracking level
- minimal
- Privacy practices
- basic
Advertising
- Transparency
- excellent
Site quality
- Design
- excellent
- User experience
- excellent
- Content relevance
- excellent
- Navigation
- excellent
- Professionalism
- excellent
- Trustworthiness
- high
Key observations
- Website is fully accessible with rich content and no blocking detected.
- No privacy or cookie policies found on the site.
- No explicit contact emails or phone numbers provided.
- Strong focus on small-scale, individual web hosting and development.
- Open source and non-profit oriented project.
- Good technical implementation with modern tools and automatic TLS.
- No advertising or tracking beyond archive.org analytics.
- No security headers detected in HTML response (based on available data).
- WHOIS data is incomplete and malformed, limiting domain trust analysis.
Technical notes
Notes
Standards and sources
Reference chips under each finding point to the standard, regulation or specification the finding relates to. They are taken from the official datasets below and mapped conservatively: a finding with no defensible link shows none. NIS2 and GDPR references mark where a finding is relevant evidence, not a compliance verdict. Implementing Regulation (EU) 2024/2690 binds digital infrastructure and digital service providers; for other entities it is the most detailed public reading of the Article 21 measures. WCAG, EN 301 549, European Accessibility Act and Web Accessibility Directive references name the requirement an automated accessibility rule relates to; they are not a conformance verdict.
- MITRE CWE (opens in a new tab)4.20 (2026-04-30) · CWE Terms of Use (free use with attribution, © MITRE)
- OWASP Top 10:2025 (opens in a new tab)2025 (membership per CWE 4.20) · CC BY-SA 4.0
- MITRE CAPEC (opens in a new tab)3.9 (2023-01-24) · CAPEC Terms of Use (free use with attribution, © MITRE)
- OWASP ASVS (opens in a new tab)5.0.0 · CC BY-SA 4.0
- OWASP Web Security Testing Guide (opens in a new tab)latest (checklist.json, master) · CC BY-SA 4.0
- OWASP Secure Headers Project (opens in a new tab)2026-10-18 · Apache-2.0
- Mozilla Server Side TLS (intermediate) (opens in a new tab)6.0 · MPL-2.0
- NIST SP 800-53 Rev. 5 (OSCAL catalog) (opens in a new tab)5.2.0 · Public domain (US Government work)
- Directive (EU) 2022/2555 (NIS2) (opens in a new tab)OJ L 333, 27.12.2022 · EUR-Lex reuse under Commission Decision 2011/833/EU (© European Union)
- Commission Implementing Regulation (EU) 2024/2690 (opens in a new tab)OJ L, 18.10.2024 · EUR-Lex reuse under Commission Decision 2011/833/EU (© European Union)
- Regulation (EU) 2016/679 (GDPR) (opens in a new tab)OJ L 119, 4.5.2016 · EUR-Lex reuse under Commission Decision 2011/833/EU (© European Union)
- Directive 2002/58/EC (ePrivacy), consolidated (opens in a new tab)19.12.2009 · EUR-Lex reuse under Commission Decision 2011/833/EU (© European Union)
- RFC Editor metadata (opens in a new tab)per-RFC (obsolete RFCs rejected) · IETF Trust Legal Provisions (metadata only)
- NIST CSRC, W3C TR, IETF Datatracker, EDPB, EUR-Lex CELLAR and gesetze-bayern.de (opens in a new tab)per document · Titles and links only
- NIST NVD CVE API 2.0 (opens in a new tab)live records · Public domain (NVD); CVE® records © MITRE, free use
- W3C WCAG 2.2 (opens in a new tab)W3C Recommendation (wcag.json) · W3C Software and Document License
- ETSI EN 301 549 (opens in a new tab)V3.2.1 (2021-03), clause headings · Clause numbers and titles only (© ETSI)
- Directive (EU) 2019/882 (European Accessibility Act) (opens in a new tab)OJ L 151, 7.6.2019 · EUR-Lex reuse under Commission Decision 2011/833/EU (© European Union)
- Directive (EU) 2016/2102 (Web Accessibility Directive) (opens in a new tab)OJ L 327, 2.12.2016 · EUR-Lex reuse under Commission Decision 2011/833/EU (© European Union)
Retrieved 2026-10-25
Feedback on this report
Rate this report, add an optional comment, and tell us if you want a security specialist to follow up.
Reviews of this site
Share your experience with sitejs.org. Every review is verified by email and published after moderation.
Community rating
No published reviews yet. Be the first to review sitejs.org.