Obfuscation Requirements

Getting Started

Obscuring KeyLines source code

KeyLines source code must be obscured within your application. To prevent it being accessed or reused by third parties you need to:

  • Exclude the words 'KeyLines' and 'Cambridge Intelligence' from any folder or path names.
  • Combine the KeyLines files with the source code from your application, so that KeyLines is not available as a separate file. We recommend using Terser with any of the following bundlers (any tool which achieves the results listed is acceptable):
  • Remove the copyright notice (this is usually a minification step).
  • Ensure you are not deploying source maps of your source code to your end users.
  • Fully integrate KeyLines into your product. We don't allow direct exposure of the KeyLines API to end users via your own API ‘wrapper’.

See also our Webpack Tutorial and Rollup Tutorial documentation for examples how to integrate KeyLines with bundlers.

Before deployment

Before you deploy your code, you also need to check that:

  • The words 'KeyLines' or 'Cambridge Intelligence' aren’t in any folder or path names.
  • The final file containing KeyLines is at least 20% larger than the original KeyLines library file.
  • There are no Cambridge Intelligence copyright notices in your deployed code bundles.
  • You ensure compliance with the terms of any applicable Open Source Software ("OSS") licenses, which may include obligations such as replicating copyright notices or attribution requirements. For more details on OSS usage and licensing, please refer to the documentation provided with the relevant OSS.

Terms of use

These terms do not alter or supersede any existing agreements between you (or your employer) and us.

By accessing or using any Content you agree to be bound by these Terms of Use. Please review these terms carefully before using the website.

The contents of this website, including but not limited to any text, code samples, API references, schemas, interactive tools, and other materials (collectively, the 'Content'), are made available for informational and internal evaluation purposes only. All intellectual property rights in the Content are reserved. No licence is granted to use the Content for any commercial purpose, or to copy, distribute, modify, reverse-engineer, or incorporate any part of the Content into any product or service, without our prior written consent.

This Content is provided “as is” and “as available,” without any representations, warranties, or guarantees of any kind, whether express or implied, including but not limited to implied warranties of merchantability, fitness for a particular purpose, non-infringement, or accuracy. To the fullest extent permitted by applicable law, we expressly exclude and disclaim all implied warranties, conditions, and other terms that might otherwise be implied.

We disclaim all liability for any loss or damage, whether direct, indirect, incidental, consequential, or otherwise, arising from any reliance placed on the Content or from your use of it, to the fullest extent permitted by applicable law. By continuing to access or use the Content, you acknowledge and agree to these terms.