Impulse AI Docs
Intern dokumentasjon
skipLink.label

Pre-launch sjekkliste

Komplett sjekkliste for lansering av Impulse AI. Organisert etter prioritet.

Blokkere — kan ikke lansere uten

heading.anchorLabel

Disse maa vaere fullfoert foer App Store-innsending.

#OppgaveDetaljStatus
1Privacy PolicyGDPR-compliant, norsk + engelsk. App Store-blocker.
2Terms of ServiceInkl. AI-generert innhold-disclaimer. App Store-blocker.
3DPA med underleverandoererSupabase, Railway, Anthropic. GDPR-krav.
4App Store-metadataTittel, undertittel, beskrivelse, soekeord, screenshots (NO + EN).
5Privacy Nutrition LabelsDeklarer ALL datainnsamling i App Store Connect. PrivacyInfo.xcprivacy opprettet.
6StoreKit 2 IAPSubscription group, introductory offer (7-dagers trial), sandbox-testing.
7AI-disclaimer i app”AI-genererte innsikter, ikke profesjonelle raad.” Juridisk noedvendig.
8Trial-kommunikasjonNaar starter betaling? Hva skjer etter trial? Apple er streng paa dette.
9Slett konto-funksjonTydelig i Profile. App Store Review Guideline 5.1.1(v).
10Brukerdata-slettemekanismeGDPR Art. 17, 30-dagers frist. Kaskade-sletting av all brukerdata.

Viktig — foerste uken etter lansering

heading.anchorLabel
#OppgaveDetalj
11Apple Developer-konto (organisasjon)Digiteers AS. Krever enrollment + $99.
12Small Business Program15% vs 30% App Store-kommisjon. Soek umiddelbart.
13Error monitoring (Sentry)API + iOS. Gratis Developer plan (5K events/mnd).
14Uptime monitoringAPI health endpoint + web + Supabase.
15Incident playbookDokumentert — se Incident Response.
16Landingssideimpulseai.app. App Store krever en URL for support.
17Support-epostsupport@digiteers.no eller lignende. App Store + GDPR-kontaktpunkt.
18Onboarding-testingTest foerste 30 sekunder med ekte brukere. Avgjoer trial-konvertering.

Boer ha — foerste maaneden

heading.anchorLabel
#OppgaveDetalj
19Behandlingsprotokoll (ROPA)Datatilsynet kan kreve dette.
20MVA-avklaringApple haandterer MVA for B2C i EU/EOES. Avklar med revisor.
21Backup restore-testSupabase har point-in-time recovery. Har du proevd aa restore?
22App RatingSelf-rate i App Store Connect. Sannsynlig 12+ pga psykologisk innhold.
23Push-varsler-strategiForklar HVORFOR i iOS-dialogen. Timing + kontekst = hoeyere opt-in.
24Brukeratferd-trackingTelemetryDeck (GDPR uten samtykke). 100K signals/mnd gratis.

App Store Review — viktige guidelines

heading.anchorLabel
GuidelineKrav
5.1.1(v)Slett konto-funksjon paakrevd
5.6Developer Code of Conduct — AI-bruk maa forklares
3.1.2Subscriptions — Trial-vilkaar maa vaere tydelige
5.1.2Data Use and Sharing — Privacy Nutrition Labels
2.3Accurate 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_TOKEN deaktivert 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 !DEBUG guards paa debug-funksjonalitet

Infrastruktur

heading.anchorLabel
  • Doppler som eneste kilde for secrets — ingen .env-filer i deploy
  • GitHub branch protection paa main med 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.anchorLabel

Verifiser at foelgende er konfigurert foer lansering:

  • Sentry API: SENTRY_DSN i Doppler prd
  • 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.anchorLabel

Sandbox-tider

heading.anchorLabel
Ekte varighetSandboxTestFlight
1 uke3 minutter3 minutter
1 maaned5 minutter5 minutter
1 aar1 time1 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
Uke 1: TestFlight intern (3-5 testere) — onboarding, trial, IAP
Uke 2-3: TestFlight ekstern (20-50 testere) — bredere feedback
Uke 4: App Store submission
  • 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
RisikoImpactMitigering
Anthropic API-nedetidAI-laget stopperGraceful degradation — “AI midlertidig utilgjengelig”
Bruker deler sensitiv helse-infoJuridisk ansvarDisclaimer + krise-ressurser
App Store-avvisningUtsatt lansering 2-4 ukerPre-submission review av guidelines
GDPR-klageBoeter, mediedekningROPA + DPA + slettemekanisme
1. Juridisk grunnmur (Privacy Policy, ToS, DPA) — Uke 1
2. App Store-krav (Metadata, IAP, Nutrition Labels) — Uke 1-2
3. Sikkerhetsmekanismer (Slett konto, AI-disclaimer) — Uke 2
4. Operasjonelt (Monitoring, incident playbook) — Uke 2-3
5. Lanserings-assets (Landingsside, support-epost) — Uke 3
6. Compliance-dokumenter (ROPA, MVA-avklaring) — Uke 4+