Pre-launch sjekkliste
Komplett sjekkliste for lansering av Impulse AI. Organisert etter prioritet.
Blokkere — kan ikke lansere uten
heading.anchorLabelDisse maa vaere fullfoert foer App Store-innsending.
| # | Oppgave | Detalj | Status |
|---|---|---|---|
| 1 | Privacy Policy | GDPR-compliant, norsk + engelsk. App Store-blocker. | |
| 2 | Terms of Service | Inkl. AI-generert innhold-disclaimer. App Store-blocker. | |
| 3 | DPA med underleverandoerer | Supabase, Railway, Anthropic. GDPR-krav. | |
| 4 | App Store-metadata | Tittel, undertittel, beskrivelse, soekeord, screenshots (NO + EN). | |
| 5 | Privacy Nutrition Labels | Deklarer ALL datainnsamling i App Store Connect. PrivacyInfo.xcprivacy opprettet. | |
| 6 | StoreKit 2 IAP | Subscription group, introductory offer (7-dagers trial), sandbox-testing. | |
| 7 | AI-disclaimer i app | ”AI-genererte innsikter, ikke profesjonelle raad.” Juridisk noedvendig. | |
| 8 | Trial-kommunikasjon | Naar starter betaling? Hva skjer etter trial? Apple er streng paa dette. | |
| 9 | Slett konto-funksjon | Tydelig i Profile. App Store Review Guideline 5.1.1(v). | |
| 10 | Brukerdata-slettemekanisme | GDPR Art. 17, 30-dagers frist. Kaskade-sletting av all brukerdata. |
Viktig — foerste uken etter lansering
heading.anchorLabel| # | Oppgave | Detalj |
|---|---|---|
| 11 | Apple Developer-konto (organisasjon) | Digiteers AS. Krever enrollment + $99. |
| 12 | Small Business Program | 15% vs 30% App Store-kommisjon. Soek umiddelbart. |
| 13 | Error monitoring (Sentry) | API + iOS. Gratis Developer plan (5K events/mnd). |
| 14 | Uptime monitoring | API health endpoint + web + Supabase. |
| 15 | Incident playbook | Dokumentert — se Incident Response. |
| 16 | Landingsside | impulseai.app. App Store krever en URL for support. |
| 17 | Support-epost | support@digiteers.no eller lignende. App Store + GDPR-kontaktpunkt. |
| 18 | Onboarding-testing | Test foerste 30 sekunder med ekte brukere. Avgjoer trial-konvertering. |
Boer ha — foerste maaneden
heading.anchorLabel| # | Oppgave | Detalj |
|---|---|---|
| 19 | Behandlingsprotokoll (ROPA) | Datatilsynet kan kreve dette. |
| 20 | MVA-avklaring | Apple haandterer MVA for B2C i EU/EOES. Avklar med revisor. |
| 21 | Backup restore-test | Supabase har point-in-time recovery. Har du proevd aa restore? |
| 22 | App Rating | Self-rate i App Store Connect. Sannsynlig 12+ pga psykologisk innhold. |
| 23 | Push-varsler-strategi | Forklar HVORFOR i iOS-dialogen. Timing + kontekst = hoeyere opt-in. |
| 24 | Brukeratferd-tracking | TelemetryDeck (GDPR uten samtykke). 100K signals/mnd gratis. |
App Store Review — viktige guidelines
heading.anchorLabel| Guideline | Krav |
|---|---|
| 5.1.1(v) | Slett konto-funksjon paakrevd |
| 5.6 | Developer Code of Conduct — AI-bruk maa forklares |
| 3.1.2 | Subscriptions — Trial-vilkaar maa vaere tydelige |
| 5.1.2 | Data Use and Sharing — Privacy Nutrition Labels |
| 2.3 | Accurate metadata — Screenshots og beskrivelse maa matche app |
Sikkerhetssjekk
heading.anchorLabel- Alle endepunkter krever auth (unntatt health check)
- Rate limiting konfigurert (100 req/min global, 20 req/min AI)
- CORS konfigurert for kun godkjente domener
- PII scrubbing i Sentry
beforeSend -
DEV_API_TOKENdeaktivert i prod (NODE_ENV=production) - Supabase RLS (Row Level Security) aktivert paa alle tabeller
- Input-validering paa alle mutasjoner (Fastify schema)
- SSL pinning / ATS (App Transport Security) aktivert
- Ingen hardkodede secrets i kildekoden (unntatt Sentry DSN)
- Keychain brukes for token-lagring
-
#if !DEBUGguards paa debug-funksjonalitet
Infrastruktur
heading.anchorLabel- Doppler som eneste kilde for secrets — ingen
.env-filer i deploy - GitHub branch protection paa
mainmed required reviews - GitHub Environments med required reviewer for production
- Redis krever passord i produksjon
Performance-benchmarks
heading.anchorLabel- Health check: < 50ms
- Impulse-opprettelse: < 500ms (ekskl. AI-klassifisering)
- AI-klassifisering: < 3s
- Session guidance (per steg): < 5s
- Dashboard/home endpoint: < 200ms (cached)
- App launch til foerste skjerm: < 2.5s (inkl. splash)
- Tab-bytte: < 100ms
- Scroll performance: 60fps
- Ingen memory leaks i session-flow
Monitorering-oppsett
heading.anchorLabelVerifiser at foelgende er konfigurert foer lansering:
- Sentry API:
SENTRY_DSNi Dopplerprd - Sentry iOS: DSN hardkodet i
SentryService.swift - TelemetryDeck: App ID konfigurert i
Analytics.swift - Pino structured logs: Business events aktive
- Railway Metrics: Tilgjengelig i dashboard
Se Monitorering for detaljer.
IAP/Subscription-testing
heading.anchorLabelSandbox-tider
heading.anchorLabel| Ekte varighet | Sandbox | TestFlight |
|---|---|---|
| 1 uke | 3 minutter | 3 minutter |
| 1 maaned | 5 minutter | 5 minutter |
| 1 aar | 1 time | 1 time |
Testscenarier
heading.anchorLabel- Ny bruker → trial start → 7 dager → betaling starter
- Trial → kjoep Foundation ($6/mnd)
- Trial → kjoep Mastery ($12/mnd)
- Foundation → oppgrader til Mastery
- Mastery → nedgrader til Foundation
- Kanseller abonnement → grace period → churn
- Restore purchase paa ny enhet
- Kvote-grense: 30 sesjoner/mnd paa Foundation
- Kvote-grense: ubegrenset paa Mastery
Testplan
heading.anchorLabelUke 1: TestFlight intern (3-5 testere) — onboarding, trial, IAPUke 2-3: TestFlight ekstern (20-50 testere) — bredere feedbackUke 4: App Store submissionJuridisk
heading.anchorLabel- Privacy Policy publisert paa impulseai.app/privacy
- Terms of Service publisert paa impulseai.app/terms
- AI-disclaimer synlig i appen (ProfileView About-seksjon)
- DPA signert med: Supabase, Railway (via Anthropic DPA), Anthropic
- Databehandleravtale (ROPA) forberedt for Datatilsynet
- Support-kontaktpunkt oppgitt i App Store og Privacy Policy
Katastrofeberedskap
heading.anchorLabel| Risiko | Impact | Mitigering |
|---|---|---|
| Anthropic API-nedetid | AI-laget stopper | Graceful degradation — “AI midlertidig utilgjengelig” |
| Bruker deler sensitiv helse-info | Juridisk ansvar | Disclaimer + krise-ressurser |
| App Store-avvisning | Utsatt lansering 2-4 uker | Pre-submission review av guidelines |
| GDPR-klage | Boeter, mediedekning | ROPA + DPA + slettemekanisme |
Rekkefoegle
heading.anchorLabel1. Juridisk grunnmur (Privacy Policy, ToS, DPA) — Uke 12. App Store-krav (Metadata, IAP, Nutrition Labels) — Uke 1-23. Sikkerhetsmekanismer (Slett konto, AI-disclaimer) — Uke 24. Operasjonelt (Monitoring, incident playbook) — Uke 2-35. Lanserings-assets (Landingsside, support-epost) — Uke 36. Compliance-dokumenter (ROPA, MVA-avklaring) — Uke 4+