Business for Sale Listing Reader — Provenance Diligence
Overview
Buying a business? A free PDF shows what a business-for-sale listing leaves out, on 12 points. Keep your listings in one list.
=== SINGLE PURPOSE === Reads the business-for-sale listing the user has open and builds, inside the browser, a PDF report of what the listing states and what it leaves out, and lets the user save the listing to their own list. === storage === Keeps on the user's own device: the listings they chose to save, with a dated snapshot of what the page said when a listing was read; the device token if they linked an account; the interface labels made when a listing page is read, in the browser's language (not from the account); the time each saved listing was last reported and, under chkNowSeen, last tried from the user's list on our site, so it is not checked more than once a day; when the watch check last ran; the page addresses where the user closed the report box (up to 200); and a local count of listings read, with a short hash of the last address (not the address itself) so a reload is not counted twice. Nothing else is stored. Saving needs a linked account, and saved listings are also sent to it: each one when the user saves it, and the whole list on this device when the user links the account. Each snapshot first passes through a filter that looks for phone numbers and email addresses by pattern and cuts them out. === sidePanel === The side panel shows the listing's title and price when it can, a button to save it and a link to our order form. It appears only when the user presses the round button beside the listing or the toolbar icon. The extension's other interface is the small report box in the corner of a listing page, drawn by the content script; it has no popup and no page of its own. When the user opens the panel on a listing that is in their account, but this browser holds none of the points listed in the PDF report for it, it sends that listing's data as on "Save to my list", with those points, after asking the account for its list again. This happens at most once per listing in a browser. See the notes. === tabs === To know which tab is active, so the panel shows the listing the user is looking at right now instead of a stale one, and switches off when they leave it. The panel also takes the active tab's address (up to 500 characters) and title (up to 200), so the user can save any page, even one where no listing was read. Also to show one ordinary tab at my.provenancediligence.com when the user chooses to link an account. While the user finishes there, the extension asks our server every 2 seconds, for up to 3 minutes, whether linking is done, sending only a random one-time code. === alarms === One timer that fires every 6 hours. It sends or requests nothing unless the user linked an account. At most once a day it reads the user's list from the account. Then, for up to 10 listings the user chose to watch and only those not checked for 6.5 days, it requests the listing page in the background, without a tab, following redirects, and reports to the account the link, the price if shown, and a mark if the listing was removed. Each watched listing is checked about once a week; a check that does not go through is tried again on a later day. Only while the browser runs. Sites whose terms forbid tracking listings are skipped. The check started from the account page (see externally_connectable) does not use this timer. === activeTab === When the user presses the toolbar icon, the extension reads the listing in that tab. This also works when the user has limited the extension's site access in Chrome's settings. === scripting === Inserts the reading scripts into a tab: after the user presses the icon, or after the small detection script found "for sale" words on the page. These scripts read the listing, build the PDF report in the browser, draw the report box and make the snapshot of the page. All of them are inside the package; no remote code. After the user linked an account, visiting a listing they saved sends the account, at most once a day, the link, the price, how many days ago the page says it was pushed back to the top, and a fresh snapshot passed through a filter that looks for phone numbers and email addresses by pattern and cuts them out. If the page says it was taken down and shows no price, only the link and that mark are sent. Sites whose terms forbid tracking listings are skipped. === HOST PERMISSION === Businesses are sold on thousands of classified, broker and agency sites; no list can be complete. So a small detection script (src/detect.js) runs on http and https pages. It reads only the page title, meta description, first heading, address and first 20,000 characters of text, and looks for "for sale" words in many languages. No match: nothing happens. A match: the service worker inserts the reading scripts. detect.js makes no network request and stores nothing. On a fixed set of listing sites named in the manifest, the reading scripts load with the page instead. Pages are read on the device. Host access also lets it request a saved listing's page in the background, without a tab, only after the user linked an account: for a watched listing, or when the user visits their list on our site. Host access to all http and https sites is declared in the manifest, because listings are published on sites no list can name in advance; without it the panel cannot appear on a listing by itself. There are no optional host permissions. === externally_connectable === Only pages on https://my.provenancediligence.com may message the extension. When the user visits their saved list there, in a browser with the extension, the page sends one message, {type:'pd:checkNow'}. The extension then reads the user's list from the account again and checks the saved listings right away, not on a timer: each at most once a day, up to 25 each time the page asks, oldest first, never on sites whose terms forbid tracking listings, and only on sites it can access. For each, it requests the listing page in the background without a tab and sends to the account the link, the price if shown, and a mark if the listing was removed. It replies to the page with two counts only: checked and skipped. Any other message or sender gets no reply. === TEST INSTRUCTIONS (Additional instructions, max 500) === No payment needed. 1) Open https://mexico.businessesforsale.com/mexican/successful-bakery-in-puerto-vallarta.aspx 2) A box "Free report" appears bottom right. Press "Download PDF". 3) Press the round button or the toolbar icon: the side panel shows the listing. 4) Press "Link your account to save" and create an account at my.provenancediligence.com (email or "Continue with Google"). Press "Save to my list". 5) Open https://my.provenancediligence.com/my: the listing is under "My list".
0 out of 5No ratings
Details
- Version1.0.13
- UpdatedOctober 29, 2026
- Size697KiB
- LanguagesEnglish
- DeveloperGrigorii KochedykovWebsite
Rua da Quinta 3 2 ESQ Ramalhal 2565-641 PTEmail
founder@provenancediligence.comPhone
+351 910 020 822 - TraderThis developer has identified itself as a trader per the definition from the European Union and committed to only offer products or services that comply with EU laws.
Privacy
Business for Sale Listing Reader — Provenance Diligence has disclosed the following information regarding the collection and usage of your data. More detailed information can be found in the developer's privacy policy.
Business for Sale Listing Reader — Provenance Diligence handles the following:
This developer declares that your data is
- Not being sold to third parties, outside of the approved use cases
- Not being used or transferred for purposes that are unrelated to the item's core functionality
- Not being used or transferred to determine creditworthiness or for lending purposes
Support
For help with questions, suggestions, or problems, visit the developer's support site