How your data is stored

Your subs, their prices, your customers and your quotes belong to your company. Other contractors who use ContractPro cannot, and that is enforced by the database itself, not just by the app’s screens.

Who can see what

Customers never sign in. They only see the proposal or contract you send them: never your sub costs, your profit or your subs’ names and prices.

Everything we store

This is every table in the ContractPro database, by its real name. No data is shown here, only what each table is for and the rule that guards it.

Your company and team

  • CompanyLocked to the server

    Your company name, logo, contact details, tax, terms and profit settings.

    companies · Belongs to your company · Database rule: none granted, so phones and browsers get nothing
  • Company accountOnly you

    Which company your account belongs to.

    memberships · Belongs to one person · Database rule: own_membership (read only)
  • Alert settingsLocked to the server

    Which alerts each person wants.

    fieldquote_alert_settings · Belongs to your company · Database rule: none granted, so phones and browsers get nothing
  • Phones for alertsLocked to the server

    Phone notification addresses so alerts reach the right phone.

    fieldquote_push_devices · Belongs to one person · Database rule: none granted, so phones and browsers get nothing
  • Plan and usageLocked to the server

    Each person’s plan and how many free quotes and pictures they used.

    fieldquote_entitlements · Belongs to one person · Database rule: none granted, so phones and browsers get nothing
  • Billing linkLocked to the server

    The Stripe customer and subscription numbers for an owner who pays. Card numbers stay with Stripe and never reach ContractPro.

    fieldquote_billing · Belongs to one person · Database rule: none granted, so phones and browsers get nothing
  • Picture provider keysLocked to the server

    A person’s own image provider key, stored encrypted.

    fieldquote_render_keys · Belongs to one person · Database rule: none granted, so phones and browsers get nothing
  • Abuse limitsLocked to the server

    Counts of recent sign-in, code and email attempts, so nobody can hammer them. Stores only scrambled fingerprints, never an email or address.

    fieldquote_rate_limits · App-wide, holds no company data · Database rule: none granted, so phones and browsers get nothing
  • Access logLocked to the server

    Every time someone outside your company opened your data, and why.

    fieldquote_data_access_log · Belongs to your company · Database rule: none granted, so phones and browsers get nothing

Subs and prices

  • Subs and crewsLocked to the server

    Your subs’ names, phone numbers, emails, trades and minimums.

    subcontractors · Belongs to your company · Database rule: none granted, so phones and browsers get nothing
  • Sub pricesLocked to the server

    Each sub’s saved prices and units, with every past version.

    price_book_versions · Belongs to your company · Database rule: none granted, so phones and browsers get nothing

Quotes and customers

  • QuotesLocked to the server

    Quotes in progress, including customer name, email, phone and job address.

    quote_drafts · Belongs to your company · Database rule: none granted, so phones and browsers get nothing
  • Sent proposalsLocked to the server

    Frozen copies of every proposal you issued.

    quote_revisions · Belongs to your company · Database rule: none granted, so phones and browsers get nothing
  • Jobsite photosLocked to the server

    The list of jobsite photos (the pictures sit in the private photo store below).

    jobsite_photos · Belongs to your company · Database rule: none granted, so phones and browsers get nothing
  • Free quote countLocked to the server

    Which quotes counted toward the free quote limit.

    fieldquote_quote_claims · Belongs to your company · Database rule: none granted, so phones and browsers get nothing
  • Concept picturesLocked to the server

    AI concept pictures made for a quote, and your review of them.

    fieldquote_concepts · Belongs to your company · Database rule: none granted, so phones and browsers get nothing
  • Picture requestsLocked to the server

    Which picture request made which concept picture.

    fieldquote_render_requests · Belongs to your company · Database rule: none granted, so phones and browsers get nothing
  • Picture reportsLocked to the server

    Problems you reported with a concept picture.

    fieldquote_concept_reports · Belongs to your company · Database rule: none granted, so phones and browsers get nothing
  • Monthly picture countLocked to the server

    How many concept pictures your company made each month.

    fieldquote_company_render_months · Belongs to your company · Database rule: none granted, so phones and browsers get nothing

Contracts and signed jobs

  • ContractsLocked to the server

    Contracts sent to customers, their status and signed copies.

    fieldquote_contracts · Belongs to your company · Database rule: none granted, so phones and browsers get nothing
  • Contract historyLocked to the server

    Sent, opened and signed times for each contract.

    fieldquote_contract_events · Belongs to your company · Database rule: none granted, so phones and browsers get nothing
  • Contract alertsLocked to the server

    Alerts waiting to go out about a contract.

    fieldquote_contract_notifications · Belongs to your company · Database rule: none granted, so phones and browsers get nothing
  • Contract remindersLocked to the server

    Reminder emails for contracts not signed yet.

    fieldquote_contract_reminders · Belongs to your company · Database rule: none granted, so phones and browsers get nothing
  • Email sendsLocked to the server

    A record that an email was sent once, so it never sends twice.

    fieldquote_email_attempts · Belongs to your company · Database rule: none granted, so phones and browsers get nothing
  • Job schedulesLocked to the server

    Each signed job’s stages and dates.

    fieldquote_workflows · Belongs to your company · Database rule: none granted, so phones and browsers get nothing
  • Payment drawsLocked to the server

    The payment schedule for each signed job.

    fieldquote_job_draws · Belongs to your company · Database rule: none granted, so phones and browsers get nothing
  • PaymentsLocked to the server

    Payments you recorded for each job.

    fieldquote_job_payments · Belongs to your company · Database rule: none granted, so phones and browsers get nothing
  • DelaysLocked to the server

    Delays reported on a job, by crew.

    fieldquote_job_delays · Belongs to your company · Database rule: none granted, so phones and browsers get nothing
  • Crew changesLocked to the server

    Crews swapped on a job after the customer signed.

    fieldquote_job_crew_swaps · Belongs to your company · Database rule: none granted, so phones and browsers get nothing
  • Change ordersLocked to the server

    Change orders and the customer’s signature on them.

    fieldquote_change_orders · Belongs to your company · Database rule: none granted, so phones and browsers get nothing
  • Job notesLocked to the server

    Your notes and comments on each job.

    fieldquote_job_notes · Belongs to your company · Database rule: none granted, so phones and browsers get nothing
  • Crew handoff linksLocked to the server

    Job packets you shared with a crew by private link.

    fieldquote_handoff_packets · Belongs to your company · Database rule: none granted, so phones and browsers get nothing

Reviews

  • Google connectionLocked to the server

    Your Google Business Profile connection, stored encrypted.

    fieldquote_review_connections · Belongs to your company · Database rule: none granted, so phones and browsers get nothing
  • Reviews readLocked to the server

    Reviews read from your profile, kept at most 30 days.

    fieldquote_reviews · Belongs to your company · Database rule: none granted, so phones and browsers get nothing
  • Review matchesLocked to the server

    Which finished customer left which review.

    fieldquote_job_reviews · Belongs to your company · Database rule: none granted, so phones and browsers get nothing

App housekeeping

  • Change historyLocked to the server

    Who changed what in your company, and when.

    audit_events · Belongs to your company · Database rule: none granted, so phones and browsers get nothing
  • Save receiptsLocked to the server

    Proof each save happened once, so a retry never saves twice.

    operation_receipts · Belongs to your company · Database rule: none granted, so phones and browsers get nothing
  • Account deletionsLocked to the server

    Account deletions in progress, so a deletion always finishes.

    account_deletion_jobs · Belongs to one person · Database rule: none granted, so phones and browsers get nothing
  • Deletion requestsLocked to the server

    Emailed account deletion links waiting to be confirmed.

    fieldquote_deletion_requests · Belongs to one person · Database rule: none granted, so phones and browsers get nothing
  • Picture settingsLocked to the server

    Whether concept pictures are switched on for the app.

    fieldquote_render_config · App-wide, holds no company data · Database rule: none granted, so phones and browsers get nothing
  • Picture spendingLocked to the server

    The app’s total picture spending per month.

    fieldquote_render_months · App-wide, holds no company data · Database rule: none granted, so phones and browsers get nothing

Files (photos and signed papers)

  • Private photo storeLocked to the server

    Jobsite photos and concept pictures, in a folder named for your company. Never public: there is no open web address for any file.

    fieldquote-private · Database rule: none granted, so phones and browsers get nothing
  • Signed contract storeLocked to the server

    Signed contracts and signed change orders. Never public: there is no open web address for any file.

    fieldquote-signed-contracts · Database rule: none granted, so phones and browsers get nothing
  • App update storeLocked to the server

    New versions of the app's own screens, signed by us. No company data. Never public: there is no open web address for any file.

    app-updates · Database rule: none granted, so phones and browsers get nothing

What the developer can and cannot do

ContractPro is run by Keith Tate. Being straight with you:

Cannot

Can

The hosting provider’s own admin console is outside the app, so a look through it would not appear in your log. The rule is to never use it to read a company’s data; it is for outages only.

Take your data, or delete it

Questions: keithtate2020@gmail.com · Privacy policy