feat: Implement comprehensive security enhancements and deployment guide for AmayoWeb

- Added a detailed deployment guide (DEPLOYMENT_GUIDE.md) for frontend and backend setup.
- Created an index documentation (INDEX.md) summarizing changes and available resources.
- Established Nginx security configuration (NGINX_SECURITY_CONFIG.md) to protect backend IP and enforce rate limiting.
- Developed a backend security guide (SECURITY_BACKEND_GUIDE.md) outlining security measures and best practices.
- Introduced middleware for security, including rate limiting, CORS, and Cloudflare validation.
- Updated frontend components and services to improve security and user experience.
- Implemented logging and monitoring strategies for better security oversight.
This commit is contained in:
Shni
2025-11-06 23:44:44 -06:00
parent b25885d87f
commit 781f4398a4
36 changed files with 7830 additions and 57 deletions

View File

@@ -0,0 +1,349 @@
<template>
<div class="legal-page">
<AnimatedBackground />
<IslandNavbar />
<div class="legal-container">
<div class="legal-header">
<h1>🔒 Privacy Policy</h1>
<p class="last-updated">Last Updated: November 6, 2025</p>
</div>
<div class="legal-content">
<section class="legal-section">
<h2>1. Introduction</h2>
<p>
This Privacy Policy explains how Amayo Bot ("we", "us", or "our") collects, uses, and protects your personal
information when you use our Discord bot. We are committed to ensuring the privacy and security of your data.
</p>
</section>
<section class="legal-section">
<h2>2. Information We Collect</h2>
<p>We collect the following types of information:</p>
<h3>2.1 Automatically Collected Data</h3>
<ul>
<li><strong>Discord User IDs:</strong> Unique identifiers provided by Discord</li>
<li><strong>Discord Server IDs:</strong> Identifiers for servers where the bot is installed</li>
<li><strong>Discord Channel IDs:</strong> For command execution and feature configuration</li>
<li><strong>Command Usage Data:</strong> Information about which commands are used and when</li>
</ul>
<h3>2.2 User-Provided Data</h3>
<ul>
<li><strong>Server Configuration:</strong> Settings you configure for your server</li>
<li><strong>Alliance Data:</strong> Alliance names, points, and member information</li>
<li><strong>Custom Content:</strong> Display components, custom commands, and configurations</li>
<li><strong>Chat Messages:</strong> Messages sent to the AI chat feature (temporarily stored)</li>
</ul>
</section>
<section class="legal-section">
<h2>3. How We Use Your Information</h2>
<p>We use the collected information for the following purposes:</p>
<ul>
<li>To provide and maintain the bot's functionality</li>
<li>To personalize your experience with the bot</li>
<li>To improve and optimize the bot's performance</li>
<li>To analyze usage patterns and develop new features</li>
<li>To respond to user inquiries and provide support</li>
<li>To prevent abuse and ensure compliance with our Terms of Service</li>
<li>To generate anonymous statistics and analytics</li>
</ul>
</section>
<section class="legal-section">
<h2>4. Data Storage and Security</h2>
<p>
We take the security of your data seriously and implement appropriate technical and organizational measures:
</p>
<ul>
<li><strong>Encryption:</strong> All data is encrypted in transit using industry-standard protocols</li>
<li><strong>Secure Databases:</strong> Data is stored in secure, encrypted databases</li>
<li><strong>Access Controls:</strong> Strict access controls limit who can access user data</li>
<li><strong>Regular Backups:</strong> Data is backed up regularly to prevent loss</li>
<li><strong>Monitoring:</strong> Systems are monitored for security threats and vulnerabilities</li>
</ul>
</section>
<section class="legal-section">
<h2>5. Data Retention</h2>
<p>We retain different types of data for varying periods:</p>
<ul>
<li><strong>Server Configuration:</strong> Retained while the bot is in your server</li>
<li><strong>Alliance Data:</strong> Retained indefinitely or until manual deletion</li>
<li><strong>Command Logs:</strong> Retained for up to 90 days for analytics</li>
<li><strong>AI Chat Messages:</strong> Retained temporarily for context (24-48 hours)</li>
<li><strong>Error Logs:</strong> Retained for up to 30 days for debugging</li>
</ul>
</section>
<section class="legal-section">
<h2>6. Data Sharing and Third Parties</h2>
<p>
We do not sell, trade, or rent your personal information to third parties. We may share data only in the
following circumstances:
</p>
<ul>
<li><strong>Discord API:</strong> We interact with Discord's services to provide bot functionality</li>
<li><strong>AI Services:</strong> AI chat messages are processed by third-party AI providers (Google Gemini)</li>
<li><strong>Hosting Providers:</strong> Our infrastructure is hosted on secure cloud platforms</li>
<li><strong>Legal Requirements:</strong> When required by law or to protect our rights</li>
</ul>
</section>
<section class="legal-section">
<h2>7. Your Rights and Choices</h2>
<p>You have the following rights regarding your data:</p>
<ul>
<li><strong>Access:</strong> Request a copy of your data</li>
<li><strong>Correction:</strong> Request correction of inaccurate data</li>
<li><strong>Deletion:</strong> Request deletion of your data (subject to certain limitations)</li>
<li><strong>Opt-Out:</strong> Disable certain features or stop using the bot</li>
<li><strong>Portability:</strong> Request your data in a portable format</li>
</ul>
<p>
To exercise these rights, please contact us through our support server.
</p>
</section>
<section class="legal-section">
<h2>8. Children's Privacy</h2>
<p>
Amayo Bot is intended for use by Discord users who meet Discord's minimum age requirements. We do not
knowingly collect information from children under the age of 13. If we become aware that we have collected
data from a child under 13, we will take steps to delete such information.
</p>
</section>
<section class="legal-section">
<h2>9. International Data Transfers</h2>
<p>
Your data may be transferred to and processed in countries other than your own. We ensure that appropriate
safeguards are in place to protect your data in accordance with this Privacy Policy.
</p>
</section>
<section class="legal-section">
<h2>10. Cookies and Tracking</h2>
<p>
Our documentation website may use cookies and similar tracking technologies to enhance user experience.
The bot itself does not use cookies, but the web dashboard (if applicable) may use:
</p>
<ul>
<li><strong>Essential Cookies:</strong> Required for authentication and security</li>
<li><strong>Analytics Cookies:</strong> To understand how users interact with the website</li>
<li><strong>Preference Cookies:</strong> To remember your settings and preferences</li>
</ul>
</section>
<section class="legal-section">
<h2>11. Changes to This Policy</h2>
<p>
We may update this Privacy Policy from time to time. We will notify users of significant changes through:
</p>
<ul>
<li>Announcements in our support server</li>
<li>Updates on our documentation website</li>
<li>Bot notifications (if applicable)</li>
</ul>
<p>
Continued use of the bot after changes indicates acceptance of the updated policy.
</p>
</section>
<section class="legal-section">
<h2>12. GDPR Compliance</h2>
<p>
For users in the European Union, we comply with the General Data Protection Regulation (GDPR). This includes:
</p>
<ul>
<li>Lawful basis for processing your data</li>
<li>Transparent data collection and usage practices</li>
<li>Your right to access, rectify, and delete your data</li>
<li>Data portability</li>
<li>The right to object to processing</li>
<li>The right to lodge a complaint with a supervisory authority</li>
</ul>
</section>
<section class="legal-section">
<h2>13. Contact Us</h2>
<p>
If you have any questions, concerns, or requests regarding this Privacy Policy or your data, please contact us:
</p>
<ul>
<li>
<strong>Support Server:</strong>
<a href="https://discord.gg/your-support-server" target="_blank" rel="noopener noreferrer" class="link">
Join our Discord
</a>
</li>
<li><strong>Email:</strong> privacy@amayo.dev (if available)</li>
</ul>
</section>
</div>
<div class="legal-footer">
<router-link to="/docs" class="back-btn">← Back to Documentation</router-link>
<router-link to="/terms" class="link">Terms of Service</router-link>
</div>
</div>
</div>
</template>
<script setup>
import { onMounted } from 'vue';
import AnimatedBackground from '../components/AnimatedBackground.vue';
import IslandNavbar from '../components/docs/IslandNavbar.vue';
import { useTheme } from '../composables/useTheme';
const { initTheme } = useTheme();
onMounted(() => {
initTheme();
});
</script>
<style scoped>
.legal-page {
width: 100%;
min-height: 100vh;
padding: 120px 20px 60px;
}
.legal-container {
max-width: 900px;
margin: 0 auto;
color: white;
}
.legal-header {
text-align: center;
margin-bottom: 60px;
}
.legal-header h1 {
font-size: 3rem;
margin-bottom: 16px;
background: linear-gradient(135deg, #fff, var(--color-secondary));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.last-updated {
color: rgba(255, 255, 255, 0.5);
font-size: 0.95rem;
}
.legal-content {
background: rgba(255, 255, 255, 0.02);
border: 1px solid rgba(255, 255, 255, 0.05);
border-radius: 20px;
padding: 40px;
margin-bottom: 40px;
}
.legal-section {
margin-bottom: 40px;
}
.legal-section:last-child {
margin-bottom: 0;
}
.legal-section h2 {
color: var(--color-primary);
font-size: 1.5rem;
margin-bottom: 16px;
}
.legal-section h3 {
color: rgba(255, 255, 255, 0.9);
font-size: 1.2rem;
margin: 24px 0 12px;
}
.legal-section p {
color: rgba(255, 255, 255, 0.8);
line-height: 1.8;
margin-bottom: 16px;
}
.legal-section ul {
list-style: none;
padding-left: 0;
margin: 16px 0;
}
.legal-section li {
color: rgba(255, 255, 255, 0.7);
padding: 8px 0 8px 24px;
position: relative;
line-height: 1.6;
}
.legal-section li::before {
content: '';
color: var(--color-primary);
font-weight: bold;
position: absolute;
left: 8px;
}
.highlight-content strong {
color: var(--color-primary);
}
.link {
color: var(--color-primary);
text-decoration: none;
border-bottom: 1px solid transparent;
transition: border-color 0.3s ease;
}
.link:hover {
border-bottom-color: var(--color-primary);
}
.legal-footer {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20px 0;
border-top: 1px solid rgba(255, 255, 255, 0.05);
}
.back-btn {
color: rgba(255, 255, 255, 0.7);
text-decoration: none;
padding: 12px 24px;
background: rgba(255, 255, 255, 0.03);
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 25px;
transition: all 0.3s ease;
}
.back-btn:hover {
background: rgba(255, 255, 255, 0.05);
color: white;
transform: translateX(-4px);
}
@media (max-width: 768px) {
.legal-header h1 {
font-size: 2rem;
}
.legal-content {
padding: 24px;
}
.legal-footer {
flex-direction: column;
gap: 16px;
}
}
</style>