Roof ReportingRoof AI Inc.

Privacy policy

This policy describes how Roof AI Inc.’s internal Roof Reporting tool handles information used to report on Roof’s own QuickBooks Online company.

Information used

After an authorized company administrator grants access, the local client can retrieve company identity, invoices, recorded payments, accounts receivable, profit and loss, and balance-sheet reports. Selected results may include customer names and references, invoice numbers, dates, currencies, amounts, balances, payment applications, account labels and financial-report rows.

Provider responses are processed temporarily in the local client’s memory. The client returns selected reporting fields rather than preserving complete raw responses. It does not request bank-account connections, payment processing, payroll, or a separate Stripe connection.

Purpose and access

Roof uses this information for internal accounting visibility and human review. Authorized operators choose when to run the client. Monthly invoice creation and reconciliation remain manual. Report observations do not establish that bank settlement or reconciliation is complete.

The app requests Intuit’s Accounting permission. That provider permission can permit accounting changes, although this client restricts accounting requests to selected reads. The app does not request the Payments or identity-profile permissions.

Credentials and local storage

Stored app keys, secrets and managed OAuth tokens are kept in the Roof account’s Dev vault in 1Password. The client holds credentials temporarily in memory when exchanging, refreshing or revoking tokens and retrieving reports. Credentials are not embedded in this website or stored in an accounting database.

The client does not automatically save report files or maintain a central accounting database. If an authorized operator later saves or shares a report, Roof is responsible for that copy’s access, retention and deletion. This policy does not assign a fixed retention period to those separately managed copies.

Website and authorization return

Cloudflare hosts the public pages and authorization-return endpoint. During authorization, its HTTPS edge receives the temporary authorization code, state and company reference in the return URL, along with ordinary browser and network metadata such as an IP address. The endpoint immediately sends the return fields to a fixed receiver on the operator’s Mac. The endpoint does not exchange the code, fetch financial data, or store these fields in application storage.

The callback uses no-store and no-referrer responses. The local browser page removes the return fields from its address before completing the exchange. The temporary local receiver uses a session cookie to associate the return with the browser that started the connection. No advertising or behavioral analytics script is included in these pages, and the application does not log callback fields. Cloudflare’s own security or platform logs are governed by its service and account settings; this application cannot guarantee their absence.

Service providers and transfers

Intuit supplies accounting data and authorization services; 1Password supplies credential storage; Cloudflare supplies website and callback hosting. Accounting responses travel directly between Intuit and the local reporting client, rather than through Cloudflare. These providers’ processing locations and retention depend on their services and the relevant account settings. This app makes no single-country data-residency guarantee.

The app does not sell reporting information, use it for advertising, or provide other companies with access to Roof’s books.

Disconnecting and deletion

An administrator can revoke the app’s connection in QuickBooks Online. The local disconnect procedure stops reads and attempts provider revocation. Managed tokens are cleared after revocation is confirmed; an uncertain result remains blocked for recovery. Disconnecting does not delete accounting records in QuickBooks or any report copies previously saved by an operator. Prior credential values may remain in 1Password item history or backups according to its retention and administrative controls.

Questions and corrections

Contact Roof at pierre@roof.ai about access, corrections, deletion requests or this app’s handling of information. Do not include passwords, keys, tokens, authorization codes or complete financial reports in an initial message. Roof will review requests within the applicable company and provider controls.

Changes

Roof will review this policy when the tool’s data handling changes and publish an updated version before using a materially different reporting workflow.