Legal Pages Updated: ✅ Privacy Policy - All 14 PDPA Section 36 requirements - Data controller information - Purpose of data processing - Types of data collected - Legal basis for processing - Data retention period - Data sharing & disclosure - Cross-border transfers - Automated decision making - Cookies & tracking technologies - 8 data subject rights - Security measures - DPO contact - Right to lodge complaint - Policy version & effective date ✅ Terms & Conditions - 17 comprehensive sections - Acceptance of terms - Services description - Intellectual property rights - User obligations - Data processing & PDPA compliance - Cookies & tracking - Limitation of liability - Indemnification - Termination conditions - Modifications to terms - Governing law (Thailand) - Dispute resolution - Contact information - Severability - Waiver - Assignment - Version & effective date Documentation Added: ✅ .env.example - Environment variables template ✅ PDPA-COMPLIANCE.md - Complete compliance guide - Feature documentation - Configuration instructions - Deployment guide - Admin dashboard usage - Security recommendations - PDPA compliance checklist All legal pages are in Thai language with professional terminology.
4.4 KiB
4.4 KiB
PDPA Compliance Guide - MoreMiniMore Website
✅ Features Implemented
This website is now PDPA-compliant with the following features:
1. Cookie Consent System
- Component:
src/components/consent/CookieBanner.astro - Features:
- Accept All / Reject All buttons (equal prominence)
- Stores consent in localStorage
- Slides up from bottom on first visit
- Thai language with link to Privacy Policy
- Dispatches 'consentGiven' event for other components
2. Conditional Analytics Loading
- Integration: Umami Analytics
- Behavior: Only loads when user accepts analytics cookies
- Implementation: In
src/layouts/Layout.astro
3. Consent API Endpoints
- POST /api/consent - Log new consent
- GET /api/consent - Retrieve consent logs (admin)
- DELETE /api/consent/:sessionId - Right to be forgotten
4. Admin Dashboard
- URL:
/admin/consent-logs - Features:
- Password-protected access
- View last 100 consent records
- Statistics (total, acceptance rate, etc.)
- Delete individual records
- Export CSV (coming soon)
- Default Password:
changeme(MUST change in production!)
5. Updated Legal Pages
- Privacy Policy: All 14 PDPA Section 36 requirements
- Terms & Conditions: 17 comprehensive sections
- Both in Thai language with professional legal terminology
🔧 Configuration
Environment Variables
Create a .env file in the root directory:
# Copy from example
cp .env.example .env
# Edit with your values
nano .env
Required Variables:
# Admin password (CHANGE THIS!)
ADMIN_PASSWORD=your-secure-password-here
# Database (for production)
ASTRO_DB_REMOTE_URL=file:./data/consent.db
Optional Variables:
# Umami Analytics
UMAMI_WEBSITE_ID=xxx-xxx-xxx
UMAMI_DOMAIN=analytics.example.com
🚀 Deployment
Docker (Recommended)
# Build image
docker build -t moreminimore:latest .
# Run container
docker run -d \
-p 80:80 \
-e NODE_ENV=production \
-e ASTRO_DB_REMOTE_URL=file:/app/data/consent.db \
-e HOST=0.0.0.0 \
-e PORT=80 \
-e ADMIN_PASSWORD=your-secure-password \
--name moreminimore \
moreminimore:latest
Easypanel Auto-Deploy
The website is configured for automatic deployment via Easypanel:
- Push changes to Gitea main branch
- Easypanel auto-builds (~3 minutes)
- New version deployed automatically
Environment Variables in Easypanel:
- Set all variables from
.env.example - Use strong
ADMIN_PASSWORD - Configure database if using remote SQLite/Turso
📊 Managing Consent Logs
Access Admin Dashboard
- Navigate to:
https://your-domain.com/admin/consent-logs - Enter admin password
- View consent records
Export Data
Click "Export CSV" button to download consent logs (feature in development)
Right to be Forgotten
Users can request deletion by:
- Contacting: contact@moreminimore.com
- Admin deletes record via dashboard
- Or via API:
DELETE /api/consent/:sessionId
📝 PDPA Compliance Checklist
Before Going Live:
- Change
ADMIN_PASSWORDfrom default - Test cookie consent banner appears
- Verify Umami loads only with consent
- Review Privacy Policy for accuracy
- Review Terms & Conditions for accuracy
- Test admin dashboard access
- Enable HTTPS (required for PDPA)
- Set up regular backups
Ongoing Maintenance:
- Review consent logs monthly
- Update legal pages when laws change
- Keep admin password secure
- Monitor for consent withdrawals
- Document data processing activities
🔒 Security Notes
Current Implementation:
- Client-side password check (development)
- Production should use server-side authentication
Recommended Improvements:
- Add server-side session management
- Implement rate limiting on admin page
- Add IP whitelist for admin access
- Use HTTPS only
- Regular security audits
📞 Support
For questions about PDPA compliance or this implementation:
- Email: contact@moreminimore.com
- Phone: 080-995-5945
- Line: @moreminimore
📚 Resources
- PDPC Thailand: https://www.pdpc.or.th
- PDPA Full Text: https://www.pdpc.or.th/กฎหมายและกฎระเบียบ/พ.ร.บ.-คุ้มครองข้อมูลส่วนบุคคล/
- Umami Analytics: https://umami.is/docs
- Astro DB: https://docs.astro.build/en/guides/astro-db/
Last Updated: March 10, 2026
Version: 1.0.0