● Reference · How it fits together
Architecture
one app, two extensions, no server.
Everything runs on the iPhone. The app shows the sites in web views and filters them; two small Screen Time extensions keep the native apps locked even when the app is closed.
01Diagram
02What happens when you open a site
- The tab loads the site's mobile page in a
WKWebView(Browser.swift). page.jsis injected at document start with the enabled filters fromPlatform.swiftplus any rules fromrules.json.- Redirects send endless pages to calm ones (for example a Shorts link opens as a normal video); selectors and labels hide feed items as the page renders.
03The control panel
Nescroll has no web admin console and no server. The in-app Settings screen is the only control panel: per-filter switches, statistics and sign-out. Everything else is set in AppConfig.swift before you build.
