Add privacy policy

This commit is contained in:
Max W. 2025-04-12 01:20:53 +02:00
parent 1a80c5d9ce
commit 31a5922cf6
3 changed files with 78 additions and 0 deletions

View File

@ -13,7 +13,11 @@
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/languages/css.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/languages/css.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/languages/xml.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/languages/xml.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/languages/json.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/languages/json.min.js"></script>
<!-- Logic -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.5/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-SgOJa3DmI69IUzQ2PVdRZhwQ+dy64/BUtbMJw1MZ8t5HZApcHrRKUc4W0kG879m7" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.7.1.min.js" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script> <script src="https://code.jquery.com/jquery-3.7.1.min.js" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.5/dist/js/bootstrap.bundle.min.js" integrity="sha384-k6d4wzSIapyDyv1kpU366/PK5hCdSbCRGRCMv+eplOQJWyd1fbcAu9OCUj5zNLiq" crossorigin="anonymous"></script>
<!-- Custom Scripts-->
<script src="/index.js" type="text/javascript"></script> <script src="/index.js" type="text/javascript"></script>
<link rel="stylesheet" href="/index.css"> <link rel="stylesheet" href="/index.css">
</head> </head>
@ -75,7 +79,71 @@
<footer class="footer"> <footer class="footer">
<div class="container"> <div class="container">
<p>Pastes are stored for 2 hours only. © 2025 Walzen665</p> <p>Pastes are stored for 2 hours only. © 2025 Walzen665</p>
<p>Privacy Policy: All pastes are publicly accessible via the generated URL. PasteBoard tracks your IP address for spam protection for maximum of 30 minutes.</p>
</div> </div>
</footer> </footer>
<div class="modal fade" id="privacyPolicyModal" tabindex="-1" aria-labelledby="privacyPolicyModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-scrollable modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="privacyPolicyModalLabel">Privacy Policy</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<h3>PasteBoard Privacy Policy</h3>
<p><strong>Last Updated:</strong> April 12, 2025</p>
<h4>1. Information We Collect</h4>
<p>PasteBoard collects and temporarily stores the following information:</p>
<ul>
<li>Content that you paste or create on our service</li>
<li>Your IP address (stored temporarily for rate limiting purposes)</li>
<li>Basic usage data (such as when pastes are created and accessed)</li>
</ul>
<h4>2. How We Use Your Information</h4>
<p>We use the collected information for the following purposes:</p>
<ul>
<li>To provide and maintain our service</li>
<li>To prevent spam and abuse through IP-based rate limiting</li>
<li>To improve our service based on usage patterns</li>
</ul>
<h4>3. Data Retention</h4>
<p>We implement the following data retention practices:</p>
<ul>
<li>Pastes are automatically deleted after 3 hours</li>
<li>IP addresses used for rate limiting are deleted after 1 hour of inactivity</li>
<li>We do not maintain backups of expired pastes</li>
</ul>
<h4>4. Public Access</h4>
<p>Please be aware that all pastes created on PasteBoard are publicly accessible to anyone with the generated URL. Do not share sensitive or personal information through this service.</p>
<h4>5. Third-Party Services</h4>
<p>PasteBoard uses the following third-party services:</p>
<ul>
<li>Highlight.js (for syntax highlighting)</li>
<li>jQuery (for DOM manipulation)</li>
<li>Bootstrap (for UI components)</li>
<li>CDN hosting services for libraries</li>
</ul>
<p>These services may use cookies and collect usage data according to their own privacy policies.</p>
<h4>6. Changes to This Policy</h4>
<p>We may update our Privacy Policy from time to time. We will notify you of any changes by posting the new Privacy Policy on this page.</p>
<h4>7. Contact Us</h4>
<p>If you have any questions about this Privacy Policy, please contact us through our <a href="https://github.com/Walzen665">GitHub page</a>.</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary" data-bs-dismiss="modal">I Understand</button>
</div>
</div>
</div>
</div>
</body> </body>
</html> </html>

View File

@ -1,4 +1,13 @@
$(document).ready(function() { $(document).ready(function() {
// init privacy policy modal
$('.footer p:nth-child(2)').html('All pastes are publicly accessible via the generated URL. <a href="#" id="privacy-link">View the Privacy Policy</a> for more information.');
$('#privacy-link').click(function(e) {
e.preventDefault();
var privacyModal = new bootstrap.Modal(document.getElementById('privacyPolicyModal'));
privacyModal.show();
});
// DOM Elements // DOM Elements
const $editor = $('#editor'); const $editor = $('#editor');
const $viewer = $('#viewer'); const $viewer = $('#viewer');
@ -224,6 +233,7 @@ $(document).ready(function() {
window.history.pushState({}, '', `/?id=${data.id}#${$languageSelector.val()}`); window.history.pushState({}, '', `/?id=${data.id}#${$languageSelector.val()}`);
// Switch to viewer mode // Switch to viewer mode
$('pre').css('width', '100%'); // Set pre width
$editorContainer.addClass('viewer-active'); $editorContainer.addClass('viewer-active');
} else { } else {
showNotification(`Error: ${data.error}`, 'error'); showNotification(`Error: ${data.error}`, 'error');