# 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:

```bash
# Copy from example
cp .env.example .env

# Edit with your values
nano .env
```

**Required Variables:**
```bash
# Admin password (CHANGE THIS!)
ADMIN_PASSWORD=your-secure-password-here

# Database (for production)
ASTRO_DB_REMOTE_URL=file:./data/consent.db
```

**Optional Variables:**
```bash
# Umami Analytics
UMAMI_WEBSITE_ID=xxx-xxx-xxx
UMAMI_DOMAIN=analytics.example.com
```

## 🚀 Deployment

### Docker (Recommended)

```bash
# 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:

1. Push changes to Gitea main branch
2. Easypanel auto-builds (~3 minutes)
3. 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

1. Navigate to: `https://your-domain.com/admin/consent-logs`
2. Enter admin password
3. 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:
1. Contacting: contact@moreminimore.com
2. Admin deletes record via dashboard
3. Or via API: `DELETE /api/consent/:sessionId`

## 📝 PDPA Compliance Checklist

### Before Going Live:

- [ ] Change `ADMIN_PASSWORD` from 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:
1. Add server-side session management
2. Implement rate limiting on admin page
3. Add IP whitelist for admin access
4. Use HTTPS only
5. 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
