krz/domain-dig

an ios app for DNS & SSL analysis

clone: git clone https://gitbay.org/krz/domain-dig.git

v4.5.0: README.md · raw

 1# DomainDig
 2
 3[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=zerolabsco_domain-dig&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=zerolabsco_domain-dig)
 4[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=zerolabsco_domain-dig&metric=reliability_rating)](https://sonarcloud.io/summary/new_code?id=zerolabsco_domain-dig)
 5
 6[![App Store Badge](https://zerolabs.sh/storebutton.svg)](https://apps.apple.com/us/app/domaindig/id6760368004)
 7
 8DomainDig is a local-first iOS domain inspection toolkit for DNS, web, ownership, monitoring, reporting, and audit workflows. The app gathers a point-in-time domain snapshot, normalizes it into a canonical `DomainReport`, and keeps user data on device unless the user exports, shares, or syncs it.
 9
10## Current Release Target
11
12Current release: `v4.5.0`.
13
14This minor release adds Home Screen and Shortcuts reach: App Intents for inspect, add-to-watchlist, and watchlist sweep; a `domaindig://` URL scheme with deep links; and a WidgetKit portfolio widget that shares tracked-domain state with the app through an App Group.
15
16## Features
17
18- Domain inspection for DNS records, email security, TLS certificates, HTTP headers, redirects, IP geolocation, reachability, open ports, RDAP, ownership, subdomain discovery, and availability.
19- Canonical `DomainReport` output used by the app UI and exports.
20- History snapshots with change summaries, risk scoring, notes, and saved domain context.
21- Dashboard, watchlist, monitoring, workflows, batch results, integrations, and data portability screens.
22- Audit Mode with sessions, checklist progress, reviewer notes, findings, evidence snapshots, audit timelines, and markdown/json/pdf export.
23- Backup and restore for tracked domains, history, audit sessions, workflows, monitoring settings/logs, app settings, and local feature metadata.
24- Local-first operation with no required backend.
25- Optional local API surface for automation-compatible report output.
26
27## Data And Privacy
28
29DomainDig stores local app data in on-device persistence. Backup exports can include tracked domains, lookup history, audit sessions, workflow definitions, monitoring configuration, monitoring logs, app settings, and cached feature metadata. Imports are processed on device.
30
31Network inspection requests are made only to perform the requested domain checks or configured resolver lookups. The app does not require a hosted DomainDig backend.
32
33## Development
34
35### Requirements
36
37- Xcode with current iOS SDK support
38- iOS Simulator or physical iOS device
39- Swift/Xcode support for filesystem-synchronized groups used by the project
40
41### Getting Started
42
431. Clone the repository.
44   ```sh
45   git clone https://github.com/zerolabsco/domain-dig.git
46   ```
472. Open `DomainDig.xcodeproj` in Xcode.
483. Select the `DomainDig` scheme.
494. Build and run on a simulator or device.
50
51### Useful Checks
52
53```sh
54xcodebuild -project DomainDig.xcodeproj -scheme DomainDig -destination 'platform=iOS Simulator,name=iPhone 16' build
55```
56
57The app and local API share the canonical report pipeline through `DomainInspectionService`, `DomainReportBuilder`, and `DomainReportExporter`.
58
59## Release Planning
60
61See `RELEASE_ROADMAP.md` for the semver release plan from `v4.4.1` through the planned `v5.0.0` stabilization milestone.
62
63## Contributing
64
65Contributions are welcome. Keep changes scoped, include tests or build verification when behavior changes, and open a pull request with a clear summary of user-facing impact.
66
67## Security
68
69If you discover a security issue, see `SECURITY.md`.
70
71## License
72
73This project is licensed under GPL 3.0 or later. See `LICENSE`.
74
75## Contact
76
77Questions or feedback: hello@cleberg.net