RenoComply is published by an independent iOS developer (Apple Developer Team ID ZM8LF8494F). For any privacy question, write to captainlongevity@gmail.com.
Is there a RenoComply server that holds my job records?
No. There is no RenoComply server. Your jobs, compliance entries, firm certifications, and renovator certifications live in this app's local SwiftData store on your iPhone. We cannot read them, restore them, or transfer them.
Does the app store photos of my job sites?
No. RenoComply records structured compliance data only — it has no camera feature and does not store images. Any photographs you take of a job site stay in your own Photos app, outside RenoComply.
Do you collect analytics, crash logs, or device identifiers?
No. There is no analytics SDK, no crash reporter, and no advertising identifier in the binary. We do not know how often you open the app, which screens you visit, or whether you have a paid subscription unless we look up your purchase through Apple's standard developer reports.
How does RenoComply calculate retention deadlines and reference rules?
The records-retention calculator runs deterministic, rule-based logic on your iPhone (job completion date plus three years, per 40 CFR §745.86; the optional firm issue-date + five-year estimate, or the recorded certificate expiry). Reference content consists of bundled federal RRP summaries and the EPA-authorized state program directory, checked against the cited sources on October 31, 2026. New versions of the app may include revised summaries. Source links open the current external website when you choose them. Record calculations and bundled reference lookups run on your device.
Do you talk to the EPA, the CDX system, or any government agency?
No. RenoComply makes no API calls to the U.S. Environmental Protection Agency, the EPA Central Data Exchange (CDX), the National Association of Home Builders (NAHB), the National Association of the Remodeling Industry (NARI), or any state agency. All references to those organizations are bundled lookup content.
Do you add anything to my iCloud or my Apple ID?
No. RenoComply does not declare the iCloud entitlement. There is no CloudKit container or App-operated record sync. Calendar accounts and system backups have separate handling. Your records may be included in your standard iOS Backups (iCloud Backup or Finder/iTunes backup) when those are enabled — that is Apple's standard backup behavior for all on-device data, not a RenoComply feature.
Device-backup contents and recovery depend on your system settings, a successfully completed usable backup and Apple’s restoration process; enabling backup alone does not guarantee recovery of every record or original file. We cannot retrieve or restore your device backups.
This data may be included in your standard iOS Backups when you have those enabled. We do not have access to your iOS Backups. If you delete the app without an iOS Backup, your data is permanently lost. Free per-job text summary sharing and Pro compliance PDF generation produce readable copies. Neither is a complete restorable database archive; there is no full archive import or in-App backup restoration.
aps-environment entitlement.RenoComply offers an optional Pro tier (an annual subscription and a one-time Lifetime purchase) via Apple's StoreKit 2. When you subscribe, restore a purchase, or when the app verifies your entitlement, your device communicates directly with Apple's servers. The App reads Apple-verified purchase information, including product and transaction identifiers, purchase/expiry dates and revocation status, to determine access. The updated App keeps a local verified-access cache in its preferences, alongside onboarding completion, App Lock and reminder settings. Earlier paid-access state is preserved when no verified purchase evidence is available during migration. This is not a developer-operated purchase database. The developer does not receive your payment method or billing address through this App. Apple handles payment and account information under its Privacy Policy.
You can revoke any permission at any time in iOS Settings > RenoComply. RenoComply requests no camera, no microphone, no photo library, no location, no HealthKit, and no contacts permission.
RenoComply is a personal recordkeeping tool for EPA-certified renovation contractors. It is not affiliated with, endorsed by, or connected to the U.S. Environmental Protection Agency (EPA) or any federal, state, or local government agency. It does not use the EPA Lead-Safe Certified Firm Logo, does not imply any official certification or endorsement, and does not submit records to the EPA CDX system. It does not provide RRP certification, legal advice, or any guarantee that a record will satisfy an inspector or a court. References to 40 CFR Part 745 and to EPA-authorized state programs are based on publicly available regulatory content and are reference-only.
RenoComply is a professional tool intended for U.S. adults. We do not knowingly collect any information from anyone, including children.
Deleting a job also deletes its compliance entries and the company details saved within that job after a successful save. Firm and renovator certifications are independent records and remain. There is no Recently Deleted or full-database archive restore; a generated compliance PDF cannot rebuild the job and its records.
Removing the App normally removes its local container, not independently kept original media, exported files, recipient copies or older backups. Manage those copies separately. Device-backup recovery requires a usable completed backup; the developer has no record archive to retrieve.
RenoComply is published in English and is marketed in the United States. The reference data (federal 40 CFR Part 745 and EPA-authorized state programs) is U.S.-specific. The App does not route records through a developer-operated record server. Apple services, legal-page hosting, support correspondence and any sharing destination you choose may process information outside your country under their own policies. Those services are separate from the App’s local record storage.
If a future release ever changes how the app handles data — for example, if a later version ever introduces any sync, analytics, or third-party integration — we will update this published policy to describe the affected feature. The "Last updated" date at the top of this page reflects the most recent revision.
Privacy questions: captainlongevity@gmail.com
On iOS 17 and later, the Calendar action requests write-only access and does not import existing events. Event titles, dates, notes and alarms created by the app are saved to your system calendar, which may sync to a calendar-account provider or be visible to people sharing that calendar. These Calendar copies are outside the app’s local database and App Lock; deleting an app record or uninstalling the app does not guarantee removal of every calendar or synced copy. Manage those copies in Calendar and the relevant account.
These legal pages are hosted on Vercel. Opening a page sends ordinary request information, such as the IP address, browser information and requested URL, to the host for delivery and security; see Vercel’s Privacy Notice. This website request is separate from App record storage. If you email support, we receive the address and information you choose to send so we can respond. Send only the details needed for that request.
The updated App pauses the normal record interface if its persistent database cannot be opened and only a temporary in-memory store is available. New recording and editing through that interface are blocked. The App keeps the existing database and attachment files rather than treating the temporary empty store as your archive. Database-dependent startup work in that interface is paused; previously scheduled reminders, widget snapshots or independent copies may remain.
Check available device storage, close and reopen the App, and contact support before deleting or reinstalling it. This recovery screen is not a backup, a repair guarantee or an automatic restoration of missing records. Older installed versions may behave differently until updated.
The updated App checks certification/job forms, creation of a job with its five compliance stages, job completion/reopening and confirmed deletion. Failed writes keep original stored values, completion/retention dates and linked stage histories, preserve unrelated pending edits and leave the current form available for retry. Version 1.1 combines a brief welcome with the required professional-use acknowledgement, followed by optional firm setup. You can finish onboarding after a checked certification Save or choose Set up later without creating a certification; add it later in Certifications. Saving firm setup requires only a firm name. Certification numbers and state are optional both during onboarding and when adding or editing a certificate. Onboarding does not assign an issue or expiry date; you can add dates later in Certifications. You can add or remove the number later. When blank, the number is omitted from certificate lists, reminders and newly created Calendar notes. Reports use the company copy explicitly saved with that job, as described below. Entering a number does not verify certification or permission to work. Previously created Calendar entries and exported copies are separate and are not rewritten by later edits. Partly entered setup asks before discarding when you choose to continue without saving. Onboarding completion is stored in local preferences; uncompleted acknowledgements and form drafts stay in memory and do not survive restarting the App. In version 1.1, new jobs require a job name; a street address, city, state and ZIP are not required to create a job. The separate Job address field is optional and supports multiline entry. An address you choose to enter is stored with the job and included in its PDF and plain-text summary; leaving it blank omits the address entry from these exports. Lists and export filenames use the job name. Existing address-only records keep their original address and use it as a title fallback until named; editing initially offers that existing text as the name without removing the address. New and edited job forms ask before Cancel discards changed name or address entries. The App does not verify addresses or request location access. A job name alone does not establish that a record meets the requirements for your work; include the site details your own records need. Keep Editing retains the form; keyboard Done only ends input. Form text remains temporary until Save succeeds. The stage editor retains its live-bound fields and existing autosave/save-on-leaving behavior, rather than becoming a detached Save-only draft. Save offers an explicit flush; a failed flush leaves the latest text and switches in memory, with a root Retry saving changes notice after navigating back. These pending edits are not restart-proof backups and may be saved by later context saves. PDF and free text-summary sharing require a successful flush first. A PDF or text summary is a readable copy, not restoration of a job and its stage tree.
Job deletion cascades its compliance stages only after a checked save; failure retains the graph. Firm and renovator certificates remain independent. Certification deletion cancels its known pending reminder identifiers only after the database deletion succeeds. Certification writes refresh the widget and enabled reminder plan after success. Reminder refresh reads the current certification records after authorization and keeps the earlier plan if records cannot be read; explicit Off still cancels App notifications. Failed widget reads retain the earlier snapshot. Scheduling, delivery, Calendar actions and external copies remain separate from database commits and are not guaranteed. Previously created Calendar events, shared PDFs/text, temporary export files and backups remain separate; there is no in-App trash, full archive import or guaranteed recovery.
Firm issue and expiry dates are optional. A new firm record has no expiry unless you explicitly set one in Certifications. Prefer the date on the certificate, or explicitly choose to estimate issue date + 5 years and check the proposed issue date before saving. Entering an issue date alone does not automatically assign expiry. With expiry unset, the App shows Expiry date not set, excludes the firm from renewal countdowns and upcoming-certification widget candidates, skips renewal reminder scheduling and offers no Calendar deadline action. Existing certificates retain their saved dates, including earlier estimates; these are not automatically corrected or verified. For older records without a saved estimate marker, an expiry equal to issue date + 5 years retains the earlier editor’s estimate interpretation. After a checked save clears expiry, pending App reminders for that firm are canceled and the widget is refreshed. Existing Calendar events, previously shared documents and system backups remain separate. PDF and text exports omit an unset state and identify unset or estimated expiry from the company copy saved with that job; later source-certificate edits do not refresh that copy automatically. EPA certificates generally have a five-year term, but renewal effective dates and state or tribal programs must be checked against the actual certificate and issuing authority. The App does not validate certification or legal permission to work. The updated bundled authority list includes Washington among 15 authorized states, and describes the separate Bois Forte tribal program, checked against EPA public information on October 31, 2026. Bundled references are not a live legal update service. The completion + 3 years retention calculation is unchanged and does not authorize disposal where other requirements apply; the retention dashboard groups dates and does not automatically archive or erase records. Older installed versions retain their earlier list and behavior until updated.
Certification renewal reminders, App Lock and widgets are available without Pro. Reminders are off by default and require an explicit opt-in and system authorization. Reminder notifications can contain firm names, certification numbers and renewal dates; widgets display local certification/job summaries from the App Group. Those surfaces can be visible outside the locked App. Configure their visibility in iOS and widget settings. The updated App automatically attempts device authentication once per lock cycle; cancellation leaves a manual Unlock action. A temporary system purchase overlay alone does not lock the App. A genuine background transition during a StoreKit purchase, restoration or subscription-management flow is recorded and handled after that flow finishes.
Open job/certification forms use temporary in-memory entries until saving; keyboard Done only ends input. The updated App uses a scene-owned lock window above open forms, sheets and the in-App share controller. Locking ends keyboard input without submitting the form or discarding its draft. Independently saved or shared files remain outside App Lock. Live compliance-stage fields keep their existing autosave and explicit save behavior. Generated PDFs use separate temporary files, can remain after sharing, and are not protected by the App Lock once independently saved or sent. The App has no full-archive importer.
Settings provides rating, App sharing and an optional developer recommendation link. Following these links opens the App Store; the App does not send job records as part of that link. A system rating request can follow repeated successful job completions after a waiting period. Local preferences keep a completion count, first-use date, request date and version to limit prompts; iOS decides whether to show a rating dialog.
The updated App lets you select a company when creating or editing a job. A new job form preselects the company only when exactly one company exists when the form opens. With zero or multiple companies, none is preselected. You can choose Not selected, and the default is not reapplied during that form session. Existing jobs are not automatically assigned or reassigned. Saving the job stores a local copy of that company record’s identifier, name, certification number, state, issue date, expiry date and estimate indicator. PDF and plain-text reports use that saved copy, not whichever company was most recently added. Existing jobs without a saved company remain unassigned; the App does not guess an affiliation. Reports disclose when no company is selected. Editing or deleting the source certification does not change or erase copies already saved with jobs. To update a copy, edit the job and select the current company again. Choose Not selected to remove that job’s copy, or delete the job after a checked save. Deleting a job also removes its saved company copy and linked compliance stages from the active store; independently saved certifications, exports, Calendar entries and system backups remain separate. Failed job saves preserve the previously saved company copy.
Turning on pamphlet delivery records today’s date if no delivery date has been recorded; check and change it to the actual delivery date. Existing delivery dates are kept when the switch is toggled, and older missing dates are labeled Not set rather than silently backfilled. These remain live stage fields subject to the existing checked Save, autosave and save-on-leaving behavior described above. PDF and text output include a saved firm issue date when present. PDF pages have page and total-page numbers; long entries continue within the measured page area. Document text uses explicit original-Unicode mappings and local glyph resources, including a bundled monochrome emoji font, without requesting fonts or sending report data to a font service. Report company details are saved historical copies, not independent verification of current certification. Earlier versions use the previous report format.