Purpose: structured Q&A pack for a privacy lawyer / GDPR specialist. Estimated cost: $500-1000 one-time review (per § XV blocker #5). Status: awaiting external review. Internal due diligence complete.
TL;DR for the lawyer
ARNO is preparing to launch the URL-import feature: at registration, a new user provides a URL → ARNO extracts React components from the public page → the user edits them in the editor → optional push to git.
Three legal concerns:
- Shadow data collection for AI model training (anonymized)
- Copyright attestation on user-imported URLs
- GDPR compliance for extracted data and retention
Pre-drafted materials:
- url_import_tos_clause_draft.md — proposed ToS/Privacy clauses (5 sections)
- url_import_spec.md § XI.3-XI.4 — technical implementation
We seek validation that the approach is GDPR/CCPA-compliant, plus identification of gaps.
Q1. GDPR legitimate interest basis for shadow data collection
Pattern: industry standard (Linear, Figma, Notion, GitHub Copilot, Cursor) — default-ON anonymized data collection, disclosed in ToS, opt-out in Settings.
ARNO implementation:
- URLs hashed via SHA-256 (irreversible)
- Component metadata stripped of PII (user IDs, email, auth tokens, PII in query params)
- Stored separately from user-identifiable account data
- Disclosure: ToS + Privacy Policy section at registration
- Opt-out: Settings → Privacy → "Anonymous data contribution" toggle
- Right to erasure: "Delete past contributions" button → cascading delete
Specific questions:
-
Is the GDPR Art. 6(1)(f) legitimate interest basis appropriate? Or do we need Art. 6(1)(a) explicit consent (= registration checkbox)?
-
Is our "anonymization" sufficient for GDPR Art. 4(5)? We hash URLs (one-way), but the hashed URLs are linked to shadow_dataset records. Records do not contain user_id or PII. But if an attacker had the original URL, they could rehash and match.
-
Balancing test documentation — what specific evidence demonstrates that the legitimate interest outweighs the data subject's rights?
-
EU AI Act (effective Aug 2026) — does the training data provenance disclosure requirement apply here? Our model improves component extraction; it is not a general-purpose AI.
Q2. Copyright attestation on user-imported URLs
Pattern: when importing a URL, the user attests one of: (a) Owned, (b) Licensed, (c) Public domain.
ARNO implementation:
- Mandatory checkbox on URL submit
- Required license_type selection
- Additional confirmation for Tranco top 15k commercial domains
- Attestation stored 7 years (legal audit)
- ARNO is not liable for third-party copyright claims
Specific questions:
-
Is user attestation sufficient legal protection? Or do we need a DMCA registered agent + safe harbor compliance?
-
For "fair use" extracted UI patterns (e.g. a small business imports apple.com by mistake):
- Is design pattern extraction "transformative" under fair use?
- Or does it constitute derivative work requiring permission?
-
Indemnification clause language — current draft:
"You agree to indemnify ARNO against any third-party claims related to content you import." Sufficient? Or do we need stronger language?
-
Cross-jurisdictional issues: an EU user imports a US-hosted site. Whose law governs?
Q3. Domain reputation system (Tranco-based)
Pattern: Tranco top 15k domains flagged as "commercial" → require extra user confirmation.
ARNO implementation:
- Daily refresh Bloom filter (memory ~10KB)
- 1% false positive rate (Bloom filter inherent)
- Attribution: "Domain classification powered by Tranco (tranco-list.eu), licensed under CC-BY 4.0" in Privacy Policy footer
Specific questions:
-
Tranco CC-BY 4.0 attribution — is placement in the Privacy Policy footer sufficient? Or does it need more prominent placement (e.g. on every ARNO dashboard page)?
-
Defamation risk — ARNO flags
mywebsite.comas "commercial" → a false positive embarrasses the user. Liability? -
GDPR Art. 22 automated decision-making — does the warning constitute a "decision" affecting the user?
Q4. GDPR retention matrix
ARNO implementation (from spec § XI.4):
| Data | Retention |
|---|---|
| Component files (TSX, types, tokens) | User lifetime |
| Original screenshots | 90 days |
| → 90-365 days | Hash + DINOv2 binary (not recoverable) |
| → 365+ days | Metadata only |
| Staging area (active) | < 90 days from last_activity |
| Staging area (notified) | 90-120 days, email "30 days until deletion" |
| Staging area (deleted) | 120 days (physical) |
| Shadow url_hash | 2 years |
| Shadow corrections | Anonymized after 90 days |
| User attestation | 7 years |
Specific questions:
-
Right-to-erasure (Art. 17) timeline — current promise is "30 days". Is this acceptable, or does it need to be stricter?
-
Hashed data as "personal data" under GDPR? Some interpretations: a hash with a user-known input = pseudonymization, not anonymization. Position needed.
-
"Legitimate business need" for 7-year attestation retention — sufficient? Or do we need a shorter timeframe?
-
Cascade deletion B2 + DB — saga pattern with retries. Is the 30-day deletion window achievable? Or do we need a stricter SLA?
Q5. Third-party processors disclosure
Services receiving user data:
| Service | What | Why |
|---|---|---|
| Google (Gemini API) | Anonymized component metadata | Text/vision analysis |
| Cerebras | TSX code generation requests | Code generation |
| Modal Labs | Hosted compute (workload analysis) | GPU inference |
| Backblaze B2 | Staging area files + shadow data | Storage |
| Hyperbrowser | Target URL (when anti-bot detected) | Browser automation |
| Liveblocks | ARNO editor real-time state | Collaboration |
Specific questions:
-
GDPR Art. 28 data processing agreements (DPAs) — needed for each one? We have standard DPAs available from each vendor. Is referencing them sufficient?
-
Schrems II / EU-US Data Privacy Framework — all these services are US-based. For EU users, do we need SCCs (Standard Contractual Clauses) or DPF certification?
-
Sub-processor disclosure — must we list each vendor publicly in the Privacy Policy?
-
Data localization claims: can we offer "EU data residency"? Currently no — all processing happens in the US. Impact for EU customers?
Q6. EU AI Act compliance (effective Aug 2026)
ARNO's AI usage:
- Production: Gemini Flash-Lite for vision/text analysis (third-party)
- Future (Q2+): self-hosted Qwen3-VL-32B + LoRA fine-tuned on user corrections
Specific questions:
-
Is ARNO's URL-import an "AI system" under the AI Act? We extract structured data — we do not make decisions about people.
-
Training data provenance — Qwen3-VL-235B-A22B teacher labels. Apache 2.0 license. We do not train on Anthropic/OpenAI outputs. Compliance with Art. 53 (training data disclosure)?
-
High-risk category check — Annex III categories. We do not impact:
- Biometric ID
- Critical infrastructure
- Education / employment
- Law enforcement
- Migration
- Justice
Compliance: low-risk system, basic transparency only?
Q7. California (CCPA / CPRA)
Specific questions:
-
Notice at Collection — is the current ToS clause sufficient for "categories of personal information" disclosure?
-
"Sale" of personal information — we do not sell, but does anonymized data sharing with the Gemini API count?
-
"Sensitive Personal Information" under CPRA — do we collect any? (probably not — but verify)
-
GPC (Global Privacy Control) signal honoring — required to implement?
Q8. Children's data (COPPA, GDPR-K)
ARNO does not target minors. The user attests to being an adult during registration.
Question: do we need an explicit COPPA / GDPR-K disclaimer statement, or is the general ToS clause sufficient?
Q9. Liability limitations
Specific questions:
-
"As-is" disclaimer language — current ToS draft. Enforceable in all jurisdictions?
-
Limitation of liability cap — typical $X or 12-month fees? Recommendation for ARNO (small-business target market)?
-
Class action waiver / arbitration clauses — necessary for V1 launch?
Q10. Privacy Policy structure recommendation
The current draft has 5 clauses (Data Collection, URL Import, Tranco Attribution, Retention, Third-party processors).
Question: is the structure adequate, or are additional sections needed?
Standard GDPR Privacy Policy checklist (from regulators):
- Identity + contact details of controller
- DPO contact (if applicable)
- Purposes of processing + legal basis
- Recipients of personal data
- International transfers + safeguards
- Retention periods
- Data subject rights (access, rectification, erasure, etc)
- Right to withdraw consent
- Right to lodge complaint with supervisory authority
- Whether disclosure is a statutory or contractual requirement
- Automated decision-making + profiling
- Categories of personal data (if not collected from the data subject)
Which are currently covered, and which are missing?
Recommended deliverables from lawyer
- Validated ToS clauses (1-5) — markup or rewrite
- Validated Privacy Policy — full document for production
- Risk assessment — biggest legal exposures + mitigation priority
- Standard contract templates: DPA template for potential enterprise customers
- 30-day post-launch follow-up — track regulatory changes (EU AI Act effective date specifically)
ARNO-side preparation for the legal call
The lawyer should review BEFORE the call:
- url_import_spec.md — full technical spec (especially § XI.3-XI.4)
- url_import_tos_clause_draft.md — draft clauses
- This document — Q&A pack
Vadim should be available for:
- Specific scenarios discussion (edge cases)
- Stack decisions justification (why Tranco, why default-ON, etc)
- Cost-benefit trade-offs (which compliance costs are acceptable for V1)
Cross-references
- url_import_spec.md § XV — blocker tracking
- url_import_tos_clause_draft.md — pre-drafted clauses
- ADR 0017 — shadow data approach rationale
- ADR 0016 — staging area (retention implications)