Privacy
Last updated October 12, 2026. ProformaPilot is operated by ProformaPilot LLC, a California limited liability company. Contact Support@proformapilot.com with privacy questions or requests.
Information Processed
The application processes account email, optional name, workspace settings, property addresses, user-entered financial assumptions, saved analyses, pipeline status, buy boxes, watch criteria, usage totals, and security/audit records. Our hosting and authentication providers may process IP addresses, browser information, request logs, and essential cookies.
We record your Terms agreement version and a server-generated acceptance time. Historical account-document archives remain available; the current Privacy Policy is linked separately on account forms. We process team invitation emails, roles, acceptance status, and membership changes. Workspace owners see team member emails and control access. Members can view shared workspace information according to their roles; a personal workspace is not automatically shared when you join a team.
To enforce one Starter trial per customer, we retain hashed account-email and Stripe card-fingerprint identifiers, the trial dates, the accepted offer version, and trial usage totals. We do not store full card numbers. These fraud-prevention records can remain after account closure so a new account cannot restart the trial. A matching identifier can require support review.
Draft Recovery And Shared Reports
Only after you enable “Save Drafts On This Device,” unfinished analysis inputs, research references, review checklists, and step progress are stored in this browser’s local storage, separated by account and workspace. These copies are not encrypted by the application; avoid enabling this on a shared device. Turning off draft recovery, rejecting optional features, or logging out through the site removes the recovery copies on that browser. Logging out also turns off draft recovery until you enable it again. Recovery copies are available for 30 days, do not sync between devices, and are removed when you clear them, save the analysis, or next open an expired copy. Browser settings or clearing site data can remove them sooner.
Workspace owners and admins can create read-only report links that expire after 1, 7, or 30 days and can be revoked. Anyone possessing a link can view the shared version’s property address, financial assumptions, and results. Private notes, workspace details, verification receipts, and provider research are excluded. We store a hash of the private link token, its creator, the saved version, and expiration and revocation times. Link records remain with the workspace for management and security. Revocation stops future access through the service; it cannot remove a copy already saved by a recipient.
Current Service Providers
Vercel hosts the website, Supabase provides authentication and database storage, Resend delivers account and service emails, and RentCast receives property addresses you request to supply property information and rental estimates. If you enable address suggestions, Google receives address text and the suggestion you select through our server to offer address completion. If you allow Google Maps, Google also receives technical browser information, including your IP address, and map-view requests. RentCast receives the location and filters used for listing searches. We retain listing-search usage records for up to 32 days to enforce service limits; listing-result caches are temporary. Stripe processes payments through hosted billing pages. UptimeRobot checks our public website and health endpoint for availability. ProformaPilot does not store full payment-card numbers. These providers have their own retention practices and may process data in the United States or other countries where they operate.
Address suggestions and Google Maps are off until you allow them in Privacy Choices or at the feature itself. With suggestions off, manually typed address text is not sent to Google by our autocomplete service. You can type an address, use a listing link, and browse listing results without enabling these features. Suggestion lists are not saved to your workspace; the address you choose can be saved with your analysis. See Google’s Privacy Policy.
Use Of Information
Information is used to authenticate users, isolate workspaces, perform requested underwriting, save version history, enforce usage limits, respond to support requests, deliver account and service emails, operate security controls, and diagnose failures. We may disclose information when required by law or reasonably necessary to protect the service and its users.
Free-Account Abuse Prevention
Free property research may require a confirmed email and is subject to shared network limits across accounts. We process the connection’s IP address to derive a protected network identifier; IPv6 addresses are grouped by network. The application stores a salted hash and usage times for this control, rather than the raw IP address or an account identifier. These records are counted over a rolling 32-day window, and older entries are removed during subsequent successful free research requests. They can remain after account deletion to prevent repeated free-account creation. A shared connection does not establish that two accounts belong to the same person.
Cookies, Device Storage, And Privacy Choices
Essential authentication, payments, security, and service-limit controls operate regardless of your optional choices. Optional analytics, browser diagnostics, Google Maps, address suggestions, and device drafts stay off until you allow them. Accept Optional enables these optional categories; Reject Optional keeps them off. Customize lets you choose separately. You can change or withdraw permission at any time using Privacy Choices at the bottom of the page. Withdrawing tracking or maps reloads the page to stop previously loaded services; save unfinished work first. A choice applies only to this browser and is remembered for 180 days, whether you accept or reject. Clearing browser storage removes it. If storage is unavailable, the choice lasts for the current page.
| Technology | Purpose And Choice | Lifetime |
|---|---|---|
Supabase cookies: sb-…-auth-token and numbered chunks; temporary code-verifier cookies | Essential sign-in, session renewal, and secure authentication flows. Browser-readable session cookies support our authentication client. | SDK session cookies have a maximum age of 400 days and renew during use. Session validity is controlled separately by authentication settings. Temporary verifier cookies are removed as the authentication flow completes; logout removes session cookies. |
Local storage: proformapilot:privacy:v1 | Essential record of your privacy choices, notice version, format version, and choice time. No advertising identifier. | 180 days of validity; replaced when you change your choices. An expired record may remain in storage until replaced or cleared, but no longer permits optional features. |
Local storage: proformapilot:draft:v1:… | Optional unfinished analysis recovery. Includes account/workspace scope, inputs, sources, and step progress. | 30 days of validity. Removed on saving, clearing, disabling, or site logout. An expired copy is removed when reopened; clearing site data also removes it. |
| Vercel Web Analytics | Optional cookie-free page and feature counts. A request-derived visitor hash distinguishes visits. | Vercel discards the visitor/session hash within 24 hours; aggregate analytics follow the provider’s retention settings. |
| Google Maps and Places | Optional interactive map scripts and server-assisted suggestions. Maps may use Google cookies or other browser technologies; Places session tokens are held in page memory. | Suggestion tokens reset after selection or page closure. Google controls retention and any map storage. Turning maps off stops further map requests from this page after reload; use browser settings to remove existing Google storage. |
| Stripe hosted billing pages | Payment and fraud prevention when you choose checkout or billing. Stripe may use __stripe_mid, __stripe_sid, and session storage on its hosted pages. No Stripe tracking script is loaded across our website. | Stripe lists up to one year for __stripe_mid and 30 minutes for __stripe_sid; exact technologies depend on the hosted flow. See Stripe’s cookie information. |
We do not currently operate advertising trackers, sell personal information, or share it for cross-context behavioral advertising. We do not use session recordings. Global Privacy Control and Do Not Track signals keep optional analytics and browser diagnostics off, even if a prior choice allowed them. These signals do not prevent you from expressly requesting a map, address suggestions, or draft recovery. No separate advertising opt-out is currently needed because we do not engage in that activity.
Website Analytics
If you allow Website Analytics, we use Vercel Web Analytics to understand page visits, referral sources, approximate location, and device and browser types. This service does not use analytics cookies. Our integration excludes URL query strings, account-recovery pages, individual report links, property addresses, and analysis inputs from page-view URLs. We also count fixed events such as signup-form submissions, analysis progress, successful lookups, saved analyses, and checkout openings, without adding customer-entered details. A form submission or checkout opening does not establish a confirmed account or payment. We review aggregate account, saved-analysis, and subscription counts to understand how the service is used. These essential business records remain in our application database and are separate from optional browser analytics.
Error Diagnostics
Server-side Sentry diagnostics and essential operational counts help diagnose service failures. Browser Sentry diagnostics are initialized only after you allow Browser Diagnostics; rejecting them does not stop essential server monitoring. Our integration sends technical stack locations, release identifiers, failure categories, and sanitized route names. It excludes account details, property inputs, request bodies, cookies, authorization headers, URL queries, and session recordings. Error messages are withheld because they can contain customer information. Sentry may process technical connection information, including IP addresses, and retains diagnostic records according to its service settings. See Sentry’s Privacy Policy.
Retention And Deletion
Operational monitoring stores hourly error counts and email delivery identifiers, statuses, and timestamps. This monitoring store excludes email contents, recipient addresses, passwords, and property inputs. These records are scheduled for deletion after 30 days; deletion can be delayed if a scheduled maintenance check fails. Email and hosting providers maintain their own delivery records and logs.
If you enable scheduled property checks, we retain your selected criteria, latest observations, and alert history to follow changes. Property-alert history and its email queue are scheduled for deletion after 90 days. If you opt in to alert emails, the private delivery queue stores your verified account email and alert details. You can turn off these emails or pause checks in DealWatch. This does not stop essential account and security emails.
We retain account and workspace information while your account is active. A sole workspace owner can request deletion in Settings. Accounts with an associated billing customer require support assistance to close billing first. Deletion does not immediately erase infrastructure logs, backups, provider-held records, or records needed for legal, billing, fraud-prevention, and security purposes. Provider-cost reservations retain request counts and times without workspace identifiers so deletion does not reset spending limits.
Billing notification queues store the recipient email and the plan and status needed to send account updates. These messages are essential service emails, not marketing. Queue records are scheduled for removal after 90 days, and expired team invitations after 30 additional days. Acceptance receipts remain while the account exists and are deleted with the account, subject to provider-held records and other retention described above.
Do Not Enter Sensitive Personal Information
Do not enter Social Security numbers, bank credentials, tenant medical information, protected-class information, access codes, or other unnecessary sensitive data into property notes or assumptions.
Your Choices And Contact
Contact Support@proformapilot.com to request access, correction, export, or deletion of your information, or for help exercising applicable privacy rights. We may need to verify your request. We do not discriminate against customers for declining optional technologies. Depending on your location and applicable law, you may also have rights to restrict processing, object, receive a portable copy, withdraw consent, or complain to your privacy regulator. Withdrawing permission does not affect processing that was lawful before withdrawal. Essential account processing supports the service you request; we rely on consent for optional browser analytics and diagnostics and on legitimate service, security, and legal needs where applicable. Service providers process information for their assigned functions, subject to applicable contracts. International processing may require contractual or other legally recognized transfer safeguards; contact us for details relevant to your information. ProformaPilot is intended for adults. We will update this page as the service changes and provide additional notice when required.