# Round 18 — Tower J32-J37 · Ads · Personal · A11y · Legal · SEO · Schedule

**Date**: 2026-04-30
**Status**: ✅ COMPLETE

---

## 🎯 הקומות

| # | Station | תפקיד |
|---|---|---|
| **J32** | Ads Targeting | בחירת ad slots + targeting context |
| **J33** | Personalization | recommendations per user |
| **J34** | Accessibility | a11y verification (WCAG 2.2 AA) |
| **J35** | Legal Review | זכויות יוצרים, libel, GDPR |
| **J36** | Final SEO | sitemap update + RSS push |
| **J37** | Scheduler | publish time, embargo enforcement |

זאת קומת **business operations**. הסטנדרטים החוקיים והעסקיים. כל פרסום עובר כאן.

---

## 💰 J32 · Ads Targeting

### Output
```json
{
  "topics": ["security", "iron_dome", "defense_budget"],
  "audience": ["IL_male_35_55", "IL_high_education", "interest:military"],
  "iab_categories": ["IAB12-3", "IAB17"],
  "exclusions": ["competitor_brands"],
  "ad_slots": [
    { "position": "after_paragraph_2", "size": "300x250", "type": "display" },
    { "position": "in_feed", "size": "responsive", "type": "native" }
  ]
}
```

### Implementation
LLM Gemini Flash + Google Ad Manager taxonomy lookup.

### Cost: ~$0.0002

---

## 👤 J33 · Personalization

### תפקיד
לבחר 5-12 **related articles** for "המשך לקרוא" — מותאמים למשתמש (אם logged in) או generic.

### Implementation
1. **Anonymous user**: top trending in same desk (last 24h)
2. **Logged-in user**: vector match between article 5W ↔ user reading history embedding
3. **Diversification**: max 2 from same source/author

### Cost: ~$0 (vector ops on EX63)

---

## ♿ J34 · Accessibility (a11y)

### Checks
- **Alt text**: every Image component has alt
- **Heading hierarchy**: h1 → h2 → h3 logical order
- **Color contrast**: ≥ 4.5:1 (WCAG AA) for text
- **Aria-labels**: on icon-only buttons
- **Tab order**: logical
- **Reading time**: estimate displayed
- **Audio**: transcript available (if J23 used)

### Implementation
Deterministic rules engine. אין LLM. בודק את ה-A2UI catalog output מ-J13-J17.

### A2UI emission
```json
{"version":"v0.9","updateDataModel":{"surfaceId":"article-output","path":"/a11y","value":{
  "score":94,
  "issues":[
    {"severity":"warning","field":"image[3]","message":"alt text too short"}
  ]
}}}
```

### Cost: $0

---

## ⚖️ J35 · Legal Review

### Checks
1. **Copyright**: detected if quotes from other publications > 50 words
2. **Libel risk**: named persons + negative claims → flag
3. **GDPR**: PII (full names, addresses, phone numbers) → ask consent
4. **Minor protection**: ages < 18 + names → blur

### Implementation
LLM with legal-aware prompt. **ה-output הוא flag list — אם flagged, אי אפשר ל-publish ללא human approval**.

### Cost: ~$0.001

---

## 🌐 J36 · Final SEO

### Actions
1. update sitemap.xml (push to tenant)
2. ping Google Search Console
3. push to RSS feed
4. invalidate related URLs in CDN cache (J22 deeper)

### Cost: $0

---

## 📅 J37 · Scheduler

### תפקיד
- Embargo enforcement (J03 found embargo? wait until)
- Time-of-day rules (BBC = no breaking after 22:00)
- Tenant blackout periods (Yom HaShoah etc.)

### Implementation
Cron + redis queue. Deterministic.

### Cost: $0

---

## ✅ Closure
✅ **Round 18 closed. 37/54 floors documented.**
