···1591594. **Access Control**: Dashboard shows subscription status and protected API buttons
1601605. **Protected Routes**: `/api/server/[endpoint]` routes check for active subscription before allowing access
161161162162-## Multi-Remote Git Setup
163163-164164-This repo syncs to two servers (tangled.sh primary, GitHub mirror) using a CI mirror script `.tangled/workflows/mirror.yml`.
165165-166166-DEPRECATED: using a custom `all` remote. Running `git push all` updates both simultaneously.
167167-168168-### Current Config
169169-170170-```bash
171171-all git@tangled.sh:samsour.de/eny-space (fetch)
172172-all git@github.com:Krekeny/eny-space.git (push)
173173-all git@tangled.sh:samsour.de/eny-space (push)
174174-origin git@tangled.sh:samsour.de/eny-space (fetch)
175175-origin git@tangled.sh:samsour.de/eny-space (push)
176176-```
162162+## Mirroring
177163178178-Note: I previously had `all` with `git@tangled.sh:samsour.de/eny-space` as **fetch only**, so pushes were only going to GitHub and the tangled.sh repo wasn’t in sync. The config above fixes that by adding tangled.sh as a push URL on `all`.
164164+Tangled is the primary git host. All pushes to `main`, `develop`, and `feature/*` branches are automatically mirrored to GitHub under `mirror/<branch-name>` via the Tangled CI pipeline at `.tangled/workflows/mirror.yml`. No manual multi-remote setup is needed.
179165180180-### Setup (New Clones)
166166+## How to Contribute
181167182182-```bash
183183-# Clone primary
184184-git clone git@tangled.sh:samsour.de/eny-space
185185-186186-# Add GitHub mirror + tangled push
187187-cd eny-space
188188-git remote rename origin tangled
189189-git remote add all git@tangled.sh:samsour.de/eny-space
190190-git remote set-url --add --push all git@github.com:Krekeny/eny-space.git
191191-git remote set-url --add --push all git@tangled.sh:samsour.de/eny-space
192192-193193-# Push everything
194194-git push all --all
195195-git push all --tags
196196-```
197197-198198-### How to Contribute
199199-200200-1. Clone: `git clone git@tangled.sh:samsour.de/eny-space`
201201-2. Branch: `git checkout -b your-feature`
202202-3. Work: edit → `git add . && git commit -m "Your message"`
203203-4. Push: `git push all` (syncs both servers!)
204204-5. Update: `git fetch --all && git checkout main && git pull tangled main`
205205-206206-Pro tip: add an alias `pushall="git push all"` in your shell config (e.g. `~/.bashrc` or `~/.zshrc`) for speed.
207207-208208-# This is a test for commit
168168+1. Clone: `git clone git@tangled.org:samsour.de/eny-space`
169169+2. Branch: `git checkout -b feature/your-feature`
170170+3. Work: edit → `git add . && git commit -m "your message"`
171171+4. Push: `git push origin feature/your-feature`