App Ops Desk · Issue #2

Privacy answers and SDK creep

Privacy work feels optional during feature weeks. It becomes urgent exactly when you wanted to ship. Solo founders don’t need a legal department — they need a living store-facts doc.

Read time: 7 min Pairs with checklist pack Before every dependency change
One action this week: Create or update a STORE_FACTS.md in your app repo today. If you added/updated any SDK since the last release, revise privacy answers in the same commit — not “later.”

Why this burns solo founders

In a team, someone owns compliance leftovers. Alone, you are engineering, support, and App Store ops. SDKs accumulate quietly: analytics “just for funnels,” a crash reporter, a paywall, a free trial helper. Each one can change purpose strings, tracking stance, nutrition labels, or reviewer questions.

Failure mode: upload-day archaeology

Symptom: Connect asks questions you last answered months ago. You guess. You ship anxiety.

Guessing is the bug. The fix is boring documentation kept close to the code that causes the answers to change.

The store-facts doc (minimum viable)

Keep one markdown file in the repo. Update it whenever packages change.

Template: store-facts-template.md

SDK creep patterns to watch

  1. “Temporary” analytics that never leave.
  2. Paywall SDK that brings its own network/identity surface.
  3. Crash tooling extras enabled by default.
  4. Copy-pasted pods from a tutorial, never audited.
  5. SDK major bumps between TestFlight and App Store candidate.

Preflight when dependencies change

  1. Diff Package.resolved / Podfile.lock / SPM list since last shipped build.
  2. For each new/updated package: why is it here, what data can it touch, is it in store-facts?
  3. Re-read purpose strings against actual API usage in code.
  4. Re-check tracking stance if anything advertising/measurement-related appeared.
  5. Note reviewer-facing implications in the next release log.
# Examples — adapt to your package manager
git log -p -- Package.resolved | head
xcodebuild -resolvePackageDependencies

What not to do

Copy/paste privacy preflight

  1. STORE_FACTS.md exists and dated.
  2. SDK list matches the archive you are about to upload.
  3. Purpose strings compile and match real features.
  4. Nutrition/tracking answers reviewed if packages changed.
  5. Export compliance answer known without guessing.
  6. Release log notes any privacy-affecting dependency change.
Founding offer details $19/mo for the first 20 · weekly release ops for solo iOS founders