JS Private Office — Internal Bookkeeping Tools Privacy Notice

Private internal tool operated by JS Private Office. Not offered to the public. Clients do not log in to or use this tool directly.

Effective date: October 27, 2026.

This notice covers JS Private Office’s private internal bookkeeping review tools using the workflow described below. It does not describe unrelated services or integrations. The current app provides statement-review tools and a staged QuickBooks Online connection. It does not provide an open service for unrelated customers.

Information processed

When you choose a statement or register file in the review screen, its contents and review results are processed in that browser session. The current review screen does not automatically upload those files to the app backend, automatically extract PDF transactions, or fetch a complete QuickBooks register. Downloading a review packet saves a separate copy to your device. If you separately provide documents in a chat service, that is an additional disclosure to that service under its terms and settings; it is not part of this app's automatic file processing.

If production QuickBooks authorization is enabled and you consent through Intuit, the initial server connection exchanges the authorization code and reads the company identity to verify the configured client company. The server stores the verified company ID, verification time, owner ID, temporary authorization-state records, and encrypted OAuth tokens. It does not presently read bank transactions or post entries. No Payments permission or money movement is enabled.

The app uses the authenticated user ID and email supplied by its hosting sign-in service to restrict the connection to the operator's authorized owner account. Other departments' demo queues and browser storage do not grant access to the client connection. Do not place client financial records in shared demo chats or queues.

Purpose and service providers

Information is used to review bookkeeping evidence, identify possible duplicates, record selected review approvals, and verify the authorized QuickBooks company. The app backend does not send financial information to a language-model API. A future AI integration, broader accounting reads, or posting service requires an updated notice and applicable authorization before activation.

Intuit processes QuickBooks authorization and company data. The app is hosted through OpenAI Sites and its Cloudflare-based runtime and database infrastructure. These providers operate under their respective terms and privacy policies. This notice does not promise a particular data-residency country or eliminate infrastructure access logs. Application code is designed not to print credentials, OAuth codes, tokens, or financial payloads to logs. Operator policies do not govern files or conversations you separately share in other services.

Storage, access, and retention

Browser review state is kept in memory until the review session is closed or cleared. Downloaded files remain on your device until you remove them. Server OAuth tokens are encrypted and bound to the owner and the configured client company. Temporary authorization states expire after ten minutes; expired unused state records are replaced on the next authorization attempt. The current app has no unattended bookkeeping or posting worker.

The connection screen offers explicit owner-directed disconnect. The server requests revocation from Intuit and removes saved tokens after Intuit confirms success. If revocation is uncertain, further reads stop and encrypted tokens remain available only for an explicit disconnect retry; access can also be revoked in Intuit. On-demand reads refresh access tokens when expired or within thirty seconds of expiry and store the newest token pair encrypted. Failed or uncertain token requests are not automatically retried. Contact JS Private Office to request help with connection records; do not send passwords, client secrets, access tokens, or bank account numbers in that request.

A separate fictional-company test profile uses dedicated credentials, company ID, encryption key, temporary-state records, cookies and token storage. Connection, refresh, disconnect/token removal and reconnection have been tested with that fictional company. This does not connect the client’s real books or enable ledger reads or writes.

Diagnostic records contain internal owner ID, environment, fixed operation/result codes, timestamps and sanitized Intuit support IDs. They do not contain financial payloads or credentials. Old diagnostic records are removed after thirty days when a new diagnostic event is recorded; this is activity-triggered cleanup, not a promised unattended deletion schedule. This notice does not specify retention for future transaction records.

Questions and changes

Contact JS Private Office at jsprivateoffice@gmail.com for privacy or support questions. Before new data uses or access are enabled, the operator will review this notice and obtain any needed permissions. No sale, advertising use, or sharing with other clients is implemented in this workflow.