We release patches for security vulnerabilities in the following versions:
| Version | Supported |
|---|---|
| 1.0.x | ✅ |
| < 1.0 | ❌ |
Please do not report security vulnerabilities through public GitHub issues.
We take security seriously and appreciate your efforts to responsibly disclose your findings.
Email: security@ceriousdevtech.com
Please include:
- Type of vulnerability
- Full paths of source file(s) related to the vulnerability
- Location of the affected source code (tag/branch/commit or direct URL)
- Step-by-step instructions to reproduce the issue
- Proof-of-concept or exploit code (if possible)
- Impact of the issue and how an attacker might exploit it
- Any potential mitigations you've identified
-
Acknowledgment: We'll acknowledge receipt of your report within 48 hours
-
Initial Assessment: We'll provide an initial assessment within 5 business days, including:
- Whether we've confirmed the issue
- Severity level
- Expected timeline for a fix
-
Updates: We'll keep you informed of progress at least every 7 days
-
Resolution: Once a fix is ready:
- We'll notify you before public disclosure
- We'll coordinate the release timeline with you
- We'll credit you in the security advisory (unless you prefer to remain anonymous)
-
Embargo Period: We request a 90-day embargo for critical vulnerabilities to allow time for fixes and user updates
-
Coordinated Disclosure: We'll work with you to:
- Develop a fix
- Test the fix
- Prepare a security advisory
- Coordinate public disclosure
-
Public Advisory: After a fix is released, we'll publish:
- Security advisory on GitHub
- CVE (if applicable)
- Credit to reporter (with permission)
- Patch notes in CHANGELOG.md
-
Content Sanitization:
// ❌ Dangerous - XSS vulnerability element.innerHTML = userProvidedContent; // ✅ Safe - Sanitize user content element.textContent = userProvidedContent; // OR use a sanitization library like DOMPurify element.innerHTML = DOMPurify.sanitize(userProvidedContent);
-
Input Validation:
- Always validate user input before passing to CeriousScroll
- Validate indices are within bounds
- Sanitize data before rendering
-
Dependencies:
- Keep CeriousScroll updated to the latest version
- Regularly audit your dependencies:
npm audit
-
Commercial License:
- Ensure you have appropriate licensing for your use case
- Commercial license includes priority security support
-
DOM Injection: CeriousScroll renders user-provided content to the DOM. Always sanitize untrusted content before rendering.
-
Prototype Pollution: Be cautious when passing configuration objects from untrusted sources.
-
Resource Exhaustion: While CeriousScroll maintains O(1) memory, extremely large datasets with complex rendering can still impact performance.
-
Sanitize Content:
scroller.renderViewport(height, container, (index, element) => { const item = data[index]; // Sanitize before rendering element.textContent = item.content; // Safe // OR element.innerHTML = sanitize(item.htmlContent); // Use library });
-
Validate Indices:
function scrollToSafeIndex(index) { if (index >= 0 && index < scroller.totalElements) { scroller.scrollToElement(index); } }
-
Rate Limiting: Implement rate limiting if scroll positions are controlled by external input (e.g., URL parameters, API calls).
- Code Review: All code must be reviewed before merging
- Input Validation: Validate all inputs and handle edge cases
- Dependencies: Only add dependencies when absolutely necessary
- Testing: Include security-focused test cases
Security updates will be released as:
- Patch versions for minor vulnerabilities (e.g., 1.0.1)
- Minor versions for moderate vulnerabilities with breaking changes (e.g., 1.1.0)
- Emergency patches for critical vulnerabilities (released immediately)
Security updates are announced via:
- GitHub Security Advisories
- Release notes in CHANGELOG.md
- npm security advisories
- Email to commercial license holders
Commercial license holders receive:
- Priority Security Support: Faster response times
- Pre-release Security Patches: Early access to security fixes
- Dedicated Security Contact: Direct communication channel
- Custom Security Audits: Available upon request
Contact: info@ceriousdevtech.com
Status: Not currently active
We may implement a bug bounty program in the future. Check this page for updates.
We recognize security researchers who responsibly disclose vulnerabilities:
Thank you to all researchers who help keep CeriousScroll secure!
- Day 0: Vulnerability reported
- Day 2: Acknowledgment sent
- Day 5: Initial assessment provided
- Day 14: Fix developed
- Day 21: Fix tested and validated
- Day 28: Patch released
- Day 28: Security advisory published
- Day 35: CVE published (if applicable)
This security policy is subject to the terms of the CeriousScroll license agreement.
Patent Pending: Certain features are patent pending. Security reports related to patented technology remain confidential.
Security Issues: security@ceriousdevtech.com
General Support: info@ceriousdevtech.com
Commercial Licensing: info@ceriousdevtech.com
PGP Key: Available upon request for encrypted communication
- v1.0.0 (2026-01-28): Initial security policy
Thank you for helping keep CeriousScroll and its users safe!
Cerious DevTech LLC
Copyright © 2024-2026. All rights reserved.