Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

improve docs security and privacy page #462

Open
wants to merge 28 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
27d427c
docs: update privacy & security doc paths
mason-at-pieces Apr 9, 2024
ee05ae0
docs: Update Privacy & Security links
mason-at-pieces Apr 9, 2024
0589e6e
chore: Update redirect rule in vercel.json
mason-at-pieces Apr 9, 2024
24c2013
docs(security-and-privacy): Update content for clarity
mason-at-pieces Apr 9, 2024
a36b0d3
docs: Update compliance section for clarity
mason-at-pieces Apr 9, 2024
3659452
docs: Update security and privacy details
mason-at-pieces Apr 9, 2024
2d99cd1
docs: Add anchor ID to SOC 2 compliance section
mason-at-pieces Apr 9, 2024
74045a4
Merge branch 'main' into 328-improve-docs-security-and-privacy-page
mason-at-pieces Apr 10, 2024
f4ca706
Merge branch 'main' into 328-improve-docs-security-and-privacy-page
mason-at-pieces Apr 10, 2024
eef7010
Merge branch 'main' into 328-improve-docs-security-and-privacy-page
mason-at-pieces Apr 11, 2024
c06ab85
Merge branch 'main' into 328-improve-docs-security-and-privacy-page
mason-at-pieces Apr 12, 2024
ff41493
docs: Add CTAButton import and section in security doc
mason-at-pieces Apr 15, 2024
f28d4ff
docs: Fix markdown formatting in security doc
mason-at-pieces Apr 15, 2024
283100a
Merge branch 'main' into 328-improve-docs-security-and-privacy-page
mason-at-pieces Apr 16, 2024
dbdf490
Merge branch 'main' into 328-improve-docs-security-and-privacy-page
mason-at-pieces Apr 17, 2024
d3722be
Merge branch 'main' into 328-improve-docs-security-and-privacy-page
mason-at-pieces Apr 23, 2024
52d8446
Merge branch 'main' into 328-improve-docs-security-and-privacy-page
mason-at-pieces May 13, 2024
2c3acc3
Merge branch 'main' into 328-improve-docs-security-and-privacy-page
mason-at-pieces May 18, 2024
79b46dd
Merge branch 'refs/heads/main' into 328-improve-docs-security-and-pri…
mason-at-pieces Jun 7, 2024
ec7a475
refactor: Rename and update docs, fix typos, adjust imports
mason-at-pieces Jun 7, 2024
d0494ec
docs: Update definitions and live-context links
mason-at-pieces Jun 7, 2024
3400897
docs: Update privacy and security links
mason-at-pieces Jun 7, 2024
800b55f
docs: Remove TODO in privacy-and-security doc
mason-at-pieces Jun 12, 2024
6eb079b
Merge branch 'main' into 328-improve-docs-security-and-privacy-page
mason-at-pieces Jun 13, 2024
e992c29
Merge branch 'main' into 328-improve-docs-security-and-privacy-page
mason-at-pieces Jun 13, 2024
d183094
Merge branch 'main' into 328-improve-docs-security-and-privacy-page
mason-at-pieces Jun 13, 2024
3edc473
Merge branch 'main' into 328-improve-docs-security-and-privacy-page
mason-at-pieces Jun 17, 2024
05c6405
Merge branch 'main' into 328-improve-docs-security-and-privacy-page
mason-at-pieces Jul 8, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/extensions-plugins/azure-data-studio.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ This setting enables automatic copying for generated Pieces links. If enabled, y
If you choose to enable auto-save, Pieces will automatically save highly re-used and potentially useful snippets while you work. This cuts down on the number of snippets you need to save manually and helps to prevent searching for code in all of your files.

### Cloud Capabilities
Here you can choose which type of ML models you'd like to use in Pieces for Azure Data Studio: Cloud, Local, or Blended. To learn more about the types of ML models and their privacy implications, [visit this section of our documentation](/product-highlights-and-benefits/privacy-security-data#our-machine-learning-models).
Here you can choose which type of ML models you'd like to use in Pieces for Azure Data Studio: Cloud, Local, or Blended. To learn more about the types of ML models and their privacy implications, [visit this section of our documentation](/privacy-and-security#our-machine-learning-models).

### Display
In this section, you can choose what aspect of your snippets to display in the snippet list.
Expand Down
2 changes: 1 addition & 1 deletion docs/extensions-plugins/visual-studio.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ Easily modify tags, links, content, or delete assets directly within the Pieces
This setting enables automatic copying for generated Pieces links. If enabled, you won't need to copy a Pieces link before sharing it with a teammate or friend.

### Cloud Capabilities
Here you can choose which type of ML models you'd like to use in Pieces for Visual Studio: Cloud, Local, or Blended. To learn more about the types of ML models and their privacy implications, [visit this section of our documentation](/product-highlights-and-benefits/privacy-security-data#our-machine-learning-models).
Here you can choose which type of ML models you'd like to use in Pieces for Visual Studio: Cloud, Local, or Blended. To learn more about the types of ML models and their privacy implications, [visit this section of our documentation](/privacy-and-security#our-machine-learning-models).

### CodeLens
To enable or disable Pieces CodeLens, go to `Tools > Options > Pieces > User Preferences` and check the `Enabled` option for CodeLens.
Expand Down
2 changes: 1 addition & 1 deletion docs/extensions-plugins/vscode.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ This setting enables automatic copying for generated Pieces links. If enabled, y
If you choose to enable auto-save, Pieces will automatically save highly re-used and potentially useful snippets while you work. This cuts down on the number of snippets you need to save manually and helps to prevent searching for code in all of your files.

### Cloud Capabilities
Here you can choose which type of ML models you'd like to use in Pieces for VS Code: Cloud, Local, or Blended. To learn more about the types of ML models and their privacy implications, [visit this section of our documentation](/product-highlights-and-benefits/privacy-security-data#our-machine-learning-models).
Here you can choose which type of ML models you'd like to use in Pieces for VS Code: Cloud, Local, or Blended. To learn more about the types of ML models and their privacy implications, [visit this section of our documentation](/privacy-and-security#our-machine-learning-models).

### Display
In this section, you can choose what aspect of your snippets to display in the snippet list.
Expand Down
4 changes: 2 additions & 2 deletions docs/features/user-settings.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -273,12 +273,12 @@ You can choose to use local or blended processing to manage your code snippets.

Try both modes to find what works best in your environment.

**Note:** Choosing local-only processing ensures that your code remains solely on your device. Learn more about [Privacy & Data Security](/product-highlights-and-benefits/privacy-security-data) at Pieces to determine which processing mode is best for you.
**Note:** Choosing local-only processing ensures that your code remains solely on your device. Learn more about [Privacy & Security](/privacy-and-security) at Pieces to determine which processing mode is best for you.

## Telemetry
You can always adjust the amount of anonymous data that you share with us. By unchecking this box, you ensure that we will not collect data and analytics from your machine. Regardless of collection preferences, we do not collect your code snippets! They are stored on your machine. The data we collect helps us see how often particular actions are taken, what sections of the application are used by the community as a whole, and other data so that we can provide a better experience for you. Personal data is not collected and your code is not shared with any other parties, even when you generate shareable links.

Read more about our [Privacy & Data Security](/product-highlights-and-benefits/privacy-security-data) to get a full look.
Read more about our [Privacy & Security](/privacy-and-security) to get a full look.

## Information
To share the version number and specific platform build of your version of the Pieces Desktop App, just press the copy button next to either of these items. These are helpful when working with Support on installation and debugging issues.
129 changes: 129 additions & 0 deletions docs/privacy-and-security.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
---
title: Privacy, Security & Your Data
description: Let's jump in and touch on privacy, data, cloud-based features, and our ML models.
---

import CTAButton from "/src/components/CTAButton";

From day 1 of building Pieces for Developers, we've had a first principle that everything is local first and built with speed, privacy, security, and offline-productivity in mind.

We also know that our partners **operate in highly secure and sensitive environments**, and we want to be prepared to operate in such environments (HIPAA, SOC 2, FERPA/COPPA, etc.). That being said - we can't tell you how happy we are that we have stayed true to this philosophy for cases just like yours!

## We are SOC 2 Compliant 🔒 {#we-are-soc-2-compliant}

SOC 2 is a prestigious benchmark in the tech industry, especially important for companies like ours. It verifies that we meet strict organizational controls and practices, enhancing our credibility and trustworthiness in the market.

This achievement is a collective triumph for our team, reflecting our dedication to maintaining a secure and reliable service. It's an essential step forward in our mission to provide world-class developer tools.

<CTAButton
href={'https://getpieces.typeform.com/to/WVEvvJkx'}
label={'Request our SOC 2 Report'}
type={'secondary'}
/>

## Our Machine Learning Models

Pieces has our own internal ML models that we use to power some of our features. We have a few different models, and they are all built with privacy and security in mind.

:::info Local Processing

Our ML models are designed to function entirely offline and on-device, eliminating the need for internet connectivity. This is possible by opting out of blended processing, as the models are integrated within the application's binary, ensuring seamless operation without requiring an internet connection.

:::

If you have **not opted out of blended processing,** then some of the models will offload computation to the cloud. A few of our models are **only** available in the cloud, but we are working on making them local.

This table shows which models are available locally and which will use cloud compute unless processing is set to local.

| **Model** | **Local** | **Blended** |
|-------------------------------- |----------- |------------- |
| Code vs Text | ✅ | ✅ |
| Coding language classification | ✅ | ✅ |
| Code Similarity | ✅ | ❌ |
| Description Generation | ✅ | ✅ |
| Framework Detection | ✅ | ✅ |
| Image to text (OCR) | ✅ | ✅ |
| Link Extraction | ✅ | ❌ |
| Neural Code Search | ✅ | ❌ |
| Related Links | 🚧 | ✅ |
| Suggested tags from tags | ✅ | ❌ |
| Suggested Save | ✅ | ❌ |
| Snippet Discovery | ✅ | ❌ |
| Secret Detection | ✅ | ✅ |
| Search Queries | 🚧 | ✅ |
| Tag Generation | ✅ | ✅ |
| Title Generation | ✅ | ✅ |

Our ML models are not trained continuously. **They do not train on your data** as you use the product.

## Live Context

The **Live Context** feature in Pieces enhances the functionality of the Pieces Copilot by utilizing our proprietary Workstream Pattern Engine (WPE). This feature is designed with privacy and efficiency in mind, ensuring that all data processing and storage occur locally on your device.

### How Live Context Works

1. **On-Device Processing and Storage:** All WPE algorithms, processing, and storage take place directly on your device. This ensures that your data remains secure and private, without being transmitted over the internet unless necessary.
2. **Querying Local Data:** When Live Context is enabled, and you ask a question to the Copilot, the system queries data aggregated from the WPE. This data is processed entirely on your device to find content that is relevant to your query.
3. **Utilizing Retrieval-Augmented Generation (RAG) for Contextual Relevance:** The relevant content identified by the WPE is then used as context for the Copilot prompt.
4. **Interaction with Language Models (LLM):**
- **Cloud LLM:** If you are using a cloud-based LLM, the data identified as relevant is sent to the cloud LLM for processing.
- **Local LLM:** If you are using a local LLM, the data remains on your device, ensuring that all processing happens locally without any data leaving your device.

Our ML models are designed to function entirely offline and on-device, eliminating the need for internet connectivity. This is possible by **opting out of blended processing**, as the models are integrated within the application's binary, ensuring seamless operation without requiring an internet connection. We do not train our models continuously on your data.

The data that we do collect is completely anonymous and highly secure. We also know that our partners operate in highly secure and sensitive environments, and we want to be prepared to operate in such environments (HIPAA, SOC 2, FERPA/COPPA, etc.).

### Privacy Recommendations

For users concerned about privacy, we strongly recommend using a Local LLM with the Pieces Copilot. Options include Mistral, Phi, Llama, among other powerful local models. Using a local LLM ensures that all data and processing remain on your device, providing an additional layer of security and privacy.

### Performance Note

Please note that results may vary depending on the selected LLM. Each model has its strengths and capabilities, which can influence the effectiveness of the Live Context feature.

## Saving Code Snippets in the Cloud

The Pieces cloud is entirely opt-in. Authentication is managed by our enterprise-ready authentication partners at Auth0 (now owned by Okta).

Even when a user signs in, they do not have a cloud until they specifically connect it in their [settings](/features/user-settings#private-cloud-beta).

If a user opts into the cloud, the data is only uploaded when something is shared.

When you click the "Share" icon and create a shareable link, only then is the snippet uploaded and accessible via the cloud.

Finally, a note on cloud architecture for the things that are backed up:
- There is no centralized database; each user has their own micro-database
- There are no centralized or shared servers
- Each user has their own Cloud Run instance, with their own unique subdomain and their own micro load balancer

Every user's cloud scales up and down completely independent of other users. The cloud is only running when a shared snippet is being accessed, backed up, or updated, and we can easily port our docker images over to an existing "Panasonic Cloud" if needed.

## Telemetry & Crash Data

Most importantly, all data collection is opt-out, and we give all the control to our users.

The data that we do collect is completely anonymous and highly secure.

### Why do we collect data?

Long story short, we're an early-stage startup and the data helps us to report on overall growth and hopefully earn more funding to continue building amazing products for our users.

Here are some screenshots of Telemetry opt-outs from the Pieces products:

#### Pieces for Developers Desktop App

![](/assets/pfd_telemetry.png)

#### Pieces for IntelliJ

![](/assets/intellij_telemetry.png)

#### Pieces for VS Code

![](/assets/vscode_telemetry.png)

#### Pieces for Chrome

![](/assets/chrome_telemetry.png)

If you have any other questions about privacy and security, please reach out! We want to make choosing Pieces as easy for you as possible.
Loading