Product Recognition Service

The Upgrade Subscription Plan for K2 includes a cloud-based Product Recognition Service (PRS), which provides additions and updates to your local Product window throughout the subscription term. Rather than adding the entire Sassafras-defined product catalogue, only product definitions that reference an application program discovered on your client computers will be added. The goal is to allow the Products window to auto-populate with meaningful Sassafras-defined products of potential interest while avoiding the sometimes overwhelming detail presented in the Programs window. Of course the PRS catalogue will never include every product, so the New Product Wizard will always be necessary for adding your own manually defined products.

Technical Overview

Whenever a new program file or product footprint is discovered at your site, the footprint data will be queued up for a query to the PRS each night. Any products relevant to your site that are in the PRS catalog will download immediately and be added to your Products window. Unknown product footprints will be submitted for analysis, potentially leading to new additions to the PRS catalogue at some point in the future – at which point a relevant product may automatically arrive in your Products window.

Automatic products will generally show up silently in the Products window following a nightly update. But occasionally, importing a product will cause changes to an existing product that is referenced by one of your policies. In this case, the Update Product Definitions wizard will be opened in order to give you a report listing the polices whose behavior might be affected. This wizard can also be invoked manually from the Task menu to check for changes, but unlike the nightly conversation with the PRS, the manual check never submits program footprint data – so will only update current products and will never add to the Products window. Whenever any update (manual or automatic) affects policies, they will be listed in the report available from the final screen of the wizard.

The Find Product Definitions option from the task menu lets you search the entire PRS catalog. This can be useful when entering a purchase record for a product that has never been installed. Note: if the Check... and Find... items are dimmed in the Task menu, it means your Upgrade Subscription has expired.

If a particular program or product footprint is not currently recognized by the PRS, you can always use the New Product wizard to explicitly create your own manual product. When the product consists of just one essential program variant (i.e. a 'major' program version), creating a product is simple enough. But many complex suite products include several distinct application components, all of which are licensed together. Creating an accurate product definition in this case can be complex. One goal of the PRS is for Sassafras to provide Automatic products for the more difficult cases, based on publisher information coupled with footprint data contributed by many sites.

Any newly added product, either Automatic or Manual, will be immediately available for use in "Audit Products" reports, Purchase tracking, Reconciliation, and Policy management. Since the addition of new products will generally change the status of one or more program variants to an Application, "Audit" reports will now include these newly classified items. Note: by default all Audit reports include Applications only, but the program based Audit reports have a checkbox in the Options pane of the Report Builder that allows you to Include Utilities and Ignored Programs. For some purposes, using this option to simply document installed program files is sufficient, but in order manage or report on a product as a whole, its product definition must appear in the Products window.

PRS is enabled by default for new KeyServer installations. When upgrading from an older KeyServer version, a wizard will appear and offer to turn on PRS the first time an Administrator with necessary permissions logs in. If PRS is switched off (which can always be done in the General Settings menu), new products will no longer be automatically added to your Products window. When enabled, the KeyServer runs a nightly process, ks-prs, to exchange information with the Sassafras server. Data related to program file discoveries: versions, file paths, shortcuts, installers, ISO/IEC 19770-2 tags, etc. is summarized and sent up. If a footprint is recognized, it will result in the addition of the relavent Automatic product records into your Products window the next time KeyConfigure connects. If a footprint is not recognized, the data will be aggregated anonymously with contributions from other sites and used to help create new definitions later. Optionally, when you enable PRS you can also "Contribute manually-defined products." This simply informs the PRS repository that someone has found it necessary to create their own product definition – usually this means there is no appropriate Automatic Product in the PRS repository. By submitting your manual definitions you are essentially voting for PRS to check out these definitions for possible inclusion as Automatic Products in the future.

Sometimes it is impossible to accurately distinguish among closely related products that have slightly different features activated. This may result in the download of identical product records with slightly different names, or alternatively, a single product with a generic name. Hopefully such ambiguities will become less prevalent in the future as more products adopt the ISO/IEC 19770-2 identification standard. In the mean time, you can create your own manual product with a distinctive name that identifies some specific product feature that must be distinguished from a similar PRS product.


At Sassafras, we are keenly aware of privacy and security concerns. All communication to and from the PRS service is via https so it is protected by the secure sockets protocol. The Product Recognition service does send data from your site to Sassafras but we have designed it specifically to avoid any personal data, as well as to make any impersonal data anonymous so it can't be traced back to your site. The aggregated anonymous data is the basis for defining and recognizing Product footprints which are then used by the Sassafras PRS service to support its subscribers – the data is not shared with any third parties.

Each site assigns itself a random id so we can't trace the source of any submitted data. This lets us count the popularity of similar submissions so our efforts at creating new product definitions can be focused on products of general interest. The id also helps correlate multiple submissions from the same site for related installers and program files so relevant products can be efficiently returned.

Properties related to products which are sent to Sassafras are:

Properties related to program files are:

For commercial products, all of the data described above will be almost identical across all sites. In fact if we at Sassafras installed every possible product, we would gather all of the same data as well. There are only two cases where data will be unique to your site:

  1. You have custom built software which only exists at your site. This means we would only have data on this unique product id from one site, so for this reason alone, the data would never be inspected and never lead to a PRS product definition. Only when multiple sites submit the same footprint do we perform the additional research necessary to confidently create a new product definition.

  2. Paths where programs are installed are almost always standard, but occasionally can be unique - e.g. in a user's download directory. We make our best attempt to "normalize" paths and strip out any identifying information such as volume names or user names. For example, C:\Users\johndoe\Downloads\QuickTimeInstaller.exe would be normalized and sent to us as C:\Users\anonymous\Downloads\QuickTimeInstaller.exe. It is always possible that a path would contain some unique text in an unusual location which does not get automatically anonymized. For example, C:\Program Files\Fred Backup\EXCEL.exe, but with only one "sample path" submitted per program, it is unlikely for this one to be picked. In any case, the only use we have for path information is to help understand related program files when first creating a product definition. Products in the PRS catalog will specify the normal default install location as the sample path rather than some unusual location submitted by a specific site.

In summary: before submission, product footprint data is aggregated and anonymized – information that might tie back to specific computers or users is never submitted. Of course in order to provide a useful service we must gather some data, but we have gone to lengths to ensure that it is specific to what is necessary, common across any number of sites, scrubbed of unique text when possible, and not traceable back to your site. None of the submitted data comes from your usage, purchase, or policy databases. No data from your product database is submitted unless the "Submit Manually-Defined Products" option is enabled – submitted definitions will help us prioritize products of interest that should be added to PRS as soon as possible.


Can I opt out of this service?
Yes you can, but we do not recommend it. Read the section above about Privacy to understand how we have minimized what is sent to Sassafras. If you opt out, you will not be able to automatically discover products that are relevant to your site - you will need to manually create your own product definitions. Also you will not automatically learn of new products that we have defined. Finally, we will not be able to learn which products are commonly installed, so we may never define products that are present at your site.

What happens if my Upgrade Subscription expires before I have a chance to renew?
PRS services will remain available for a one month grace period, but then if the upgrade subscription is not renewed, automatic product updates will cease and searches of the cloud based product repository will be unavailable. Although new product definitions will have to be created manually, all other features will continue to work without interruption and without change.

What versions of KeyServer are required for PRS?
Although KeyServer versions 7.1 and 7.2 had PRS functionality, the repository of definitions changed as of KeyServer 7.3 and 7.4. We currently only keep the 7.3 and new repository updated. If your PRS subscription is active, you are also eligible to upgrade to the latest version of KeyServer and should do so if you are still using version 7.3 or earlier.

How often does the Product Recognition Service communicate with the cloud server?
Communication is done every 24 hours, although there will frequently be no new products. New products will only appear either when programs are seen for the first time at your site, or when Sassafras has defined products that are relevant to your site. General Settings in the Config Menu also has a "Contact Now" button where you can force an immediate upload of the latest discovery information from your site. Note that while KeyServer 7.1. and 7.2 will communicate with PRS, only KeyServer version 7.3 and later will receive the latest product definition updates.

How does "Find Product Definitions..." interact with the cloud server?
The search string entered into the "Find Product Definitions..." dialog (available from the Tasks menu) is sent to the PRS server using the https protocol. Only the search string is sent without any other data. The list of product definitions that is returned may include many that are irrelevant to your site. This is unlike the nightly PRS service which returns only relevant product definitions based on the automated submission new program discoveries at your site. If your Upgrade Subscription has expired, both the "Find Product Definitions..." dialog and the automatic PRS service will be disabled. However with an active subscription, the Find dialog will still work even if "Contact PRS daily" is un-checked in General Settings.

How often does Sassafras update the knowledge base?
We do not have a fixed cycle on which we perform updates. When we create a new product definition it is added to the PRS catalog and is then immediately available both via the automatic nightly queries and manually using Find Product Definitions. We will be continually adding more products, as useful footprint data is submitted.

Once footprint data from my site has been submitted, how soon will products be added to the Products window?
Products which are already defined will be automatically added to your Products window as soon as the ks-prs process has contacted the cloud server – typically the day after your discovery. Data for products which we have not yet defined will be added to our list of pending products, and we will sort through this data as time permits. We cannot guarantee that new definitions will be created in any specific time frame.

If I have a product that does not appear to be imported by the Product Recognition Service, what can I do?
As always, you can define this product manually by selecting "New Product..." from the Tasks menu in KeyConfigure. If the product is complicated or hard to define you can always email and ask for help.

What should I do if I have a manually created product and there is a similar Automatic product?
You should first compare the two definitions. If you believe that the definition from PRS is inaccurate or incomplete, please tell us. Assuming the Automatic product accurately represents the product you are interested in managing, we recommend that you use the "Replace Product References..." wizard from the Tasks menu in order to switch over to the Automatic product. To quickly see which Manual products are candidates for replacement by an Automatic product, run the Product Suggestions report (from the Reports/Miscellaneous menu).

One of the products that arrived via PRS is misconfigured - what should I do?
Please contact us at Sassafras and describe what you believe needs to change.

Why do I see products that I don't actually have installed anywhere?
You will get definitions both for products that you have installed, as well as related products. For example if you have an office suite installed, you will get a definition for the suite, as well as definitions for any "point products" - i.e. programs from the suite that are sold individually. Since all product definitions that reference any of your application programs are returned by the PRS, you will be able to run usage reports that help to gain insight into alternative purchase strategies (e.g. point products vs suite products). Often total licensing costs can be significantly reduced based on this kind of analysis.

How can I see which products are actually installed on the various computers at my site?
Run an Audit Products (PROD x comp) report. This report looks at program files that are installed on each computer and then finds the best matches from the definitions available in your Product window – there is no interaction with the cloud service when running reports. Even when the nightly PRS conversation has added all relavant Automatic products to your Products window, the Audit Products reports still may not find a perfect match. For example, a suite product may have been installed on a particular computer with some components missing. Picking out the best match – an incomplete suite vs multiple point products – may be ambiguous. The program based Audit reports, on the other hand, simply report on installed program files without ambiguity, since these reports don't attempt to recognize aggregations. But it is a product that is bought and licensed, not isolated programs, so even though product recognition is never 100% perfect, it is often more informative and relavent than the simpler program file view.

Is it ok to delete products that I don't care about?
We recommend that you don't delete any products downloaded by PRS. Instead, you can leave them in the Products window as Unreferenced or change the status to Ignored by dragging onto that selector in the status pane. Ignored products are removed from consideration and will not appear when running Audit Products reports. This is useful for a product that is in fact installed at your site, but which you just don't care about - e.g. a web browser. Typically there will be several products listed in the products window that aren't tagged as ignored but still don't show up in Product Audit reports. These products may have arrived via the PRS in your Products window because the definition includes an application program found on some computer on your site. Often, a single application program may be included in several product definitions – so the Audit Products report must try to find the best product match based on all program files found on each computer. Therefore some products may not be found on any computer because some related product is always a better match. So why not delete a product that isn't found anywhere? – a deleted product will never be available for consideration when the best match is computed by the Audit Products report, and the PRS will never re-download a deleted product regardless of what footprints are reported in the future from your site.

How can I tell what was discovered most recently?
In the products window, check the "Discovered in past week" filter. This filter should been added automatically after you upgraded to 7.1 or higher. If you do not see it you can always import the Sample Filters, as described at the bottom of the Filters documentation.

How can I find programs which have not automatically been put in a product but may still be interesting?
In the programs window, check only "Ignored" while leaving "Application" and "Utility" unchecked. This will hide any programs that are already in some product definition. Then try applying some of the filters, like "Interesting", "In Start menu", and "Has run, has props". These filters are designed to help find programs for which you might want to make a product definition. If you do not see these filters you can always import the Sample Filters, as described at the bottom of the Filters documentation.

Why are the products named the way they are (sometimes inconsistently)?
There are many ways to name a product, and in fact you will see the same product referred to in many different ways by different web sites. We do our best to include the publisher and version in the product name, and to match the name that the publisher uses for their own product. Finally if the product can be purchased either for Mac or Windows, we include "Mac" or "Win" at the end of the name.

What kind of policy should I use for a product that was added automatically?
Sassafras makes no attempt to keep track of what licensing agreements are available from the publisher for each product. Many products are sold in a multitude of different ways, so even if we had this sort of information it would be impossible to know for sure what applies to your specific site. Therefore you will need to research for your own site, whether a product was purchased or was free, and what specific licensing rights and obligations govern its use and deployment. The Purchase window and its underlying database is designed to conveniently store this site specific entitlement information while also supporting reconciliation against your management Policies.