diff --git a/website/api/controllers/view-transparency.js b/website/api/controllers/view-transparency.js new file mode 100644 index 00000000000..c079ed53003 --- /dev/null +++ b/website/api/controllers/view-transparency.js @@ -0,0 +1,27 @@ +module.exports = { + + + friendlyName: 'View transparency', + + + description: 'Display "Transparency" page.', + + + exits: { + + success: { + viewTemplatePath: 'pages/transparency' + } + + }, + + + fn: async function () { + + // Respond with view. + return {}; + + } + + +}; diff --git a/website/assets/images/emails-and-chat-101x81@2x.png b/website/assets/images/emails-and-chat-101x81@2x.png new file mode 100644 index 00000000000..2e3bb89c3d5 Binary files /dev/null and b/website/assets/images/emails-and-chat-101x81@2x.png differ diff --git a/website/assets/images/keystrokes-93x80@2x.png b/website/assets/images/keystrokes-93x80@2x.png new file mode 100644 index 00000000000..88082d1663d Binary files /dev/null and b/website/assets/images/keystrokes-93x80@2x.png differ diff --git a/website/assets/images/mouse-movement-98x80@2x.png b/website/assets/images/mouse-movement-98x80@2x.png new file mode 100644 index 00000000000..df309a11d75 Binary files /dev/null and b/website/assets/images/mouse-movement-98x80@2x.png differ diff --git a/website/assets/images/privacy-80x92@2x.png b/website/assets/images/privacy-80x92@2x.png new file mode 100644 index 00000000000..05ed98afb2d Binary files /dev/null and b/website/assets/images/privacy-80x92@2x.png differ diff --git a/website/assets/images/screen-82x81@2x.png b/website/assets/images/screen-82x81@2x.png new file mode 100644 index 00000000000..d67030d2039 Binary files /dev/null and b/website/assets/images/screen-82x81@2x.png differ diff --git a/website/assets/images/webcam-81x80@2x.png b/website/assets/images/webcam-81x80@2x.png new file mode 100644 index 00000000000..d3d20fd775e Binary files /dev/null and b/website/assets/images/webcam-81x80@2x.png differ diff --git a/website/assets/js/pages/transparency.page.js b/website/assets/js/pages/transparency.page.js new file mode 100644 index 00000000000..211b9f441fd --- /dev/null +++ b/website/assets/js/pages/transparency.page.js @@ -0,0 +1,25 @@ +parasails.registerPage('transparency', { + // ╦╔╗╔╦╔╦╗╦╔═╗╦ ╔═╗╔╦╗╔═╗╔╦╗╔═╗ + // ║║║║║ ║ ║╠═╣║ ╚═╗ ║ ╠═╣ ║ ║╣ + // ╩╝╚╝╩ ╩ ╩╩ ╩╩═╝ ╚═╝ ╩ ╩ ╩ ╩ ╚═╝ + data: { + //… + }, + + // ╦ ╦╔═╗╔═╗╔═╗╦ ╦╔═╗╦ ╔═╗ + // ║ ║╠╣ ║╣ ║ ╚╦╝║ ║ ║╣ + // ╩═╝╩╚ ╚═╝╚═╝ ╩ ╚═╝╩═╝╚═╝ + beforeMount: function() { + //… + }, + mounted: async function() { + //… + }, + + // ╦╔╗╔╔╦╗╔═╗╦═╗╔═╗╔═╗╔╦╗╦╔═╗╔╗╔╔═╗ + // ║║║║ ║ ║╣ ╠╦╝╠═╣║ ║ ║║ ║║║║╚═╗ + // ╩╝╚╝ ╩ ╚═╝╩╚═╩ ╩╚═╝ ╩ ╩╚═╝╝╚╝╚═╝ + methods: { + //… + } +}); diff --git a/website/assets/styles/importer.less b/website/assets/styles/importer.less index 237427c4e46..1a9b53b8b63 100644 --- a/website/assets/styles/importer.less +++ b/website/assets/styles/importer.less @@ -50,3 +50,5 @@ @import 'pages/documentation.less'; @import 'pages/docs-template.less'; + +@import 'pages/transparency.less'; diff --git a/website/assets/styles/pages/transparency.less b/website/assets/styles/pages/transparency.less new file mode 100644 index 00000000000..4973cba6bef --- /dev/null +++ b/website/assets/styles/pages/transparency.less @@ -0,0 +1,42 @@ +#transparency { + + h3 { + font-size: 24px; + line-height: 35px; + } + + h4 { + font-family: 'Nunito Sans'; + font-weight: 700; + font-size: 20px; + line-height: 28px; + } + + a { + color: @core-vibrant-blue; + } + + .accordion { + font-weight: bold; + } + + [purpose='card'] { + display: flex; + width: 100%; + flex-direction: column; + align-items: center; + padding: 60px 30px 12px; + border: 1px solid @core-vibrant-blue-15; + box-shadow: 0px 6px 20px rgba(0, 0, 0, 0.1); + border-radius: 16px; + + } + + @media (min-width: 576px) { + h3 { + font-size: 28px; + line-height: 40px; + } + } + +} diff --git a/website/config/policies.js b/website/config/policies.js index 18e7ea971c5..9ac7b3f30f7 100644 --- a/website/config/policies.js +++ b/website/config/policies.js @@ -31,5 +31,6 @@ module.exports.policies = { 'receive-usage-analytics': true, 'view-docs-template': true, 'view-documentation': true, + 'view-transparency': true, }; diff --git a/website/config/routes.js b/website/config/routes.js index 2b41fae2d6a..9a90758d990 100644 --- a/website/config/routes.js +++ b/website/config/routes.js @@ -31,7 +31,7 @@ module.exports.routes = { '/legal/terms': 'https://docs.google.com/document/d/1OM6YDVIs7bP8wg6iA3VG13X086r64tWDqBSRudG4a0Y/edit', '/security': 'https://github.com/fleetdm/fleet/security/policy', - + 'GET /transparency': { action: 'view-transparency' }, 'GET /apply': 'https://fleet-device-management.breezy.hr', diff --git a/website/views/layouts/layout.ejs b/website/views/layouts/layout.ejs index 0d38da6ee77..380d888b117 100644 --- a/website/views/layouts/layout.ejs +++ b/website/views/layouts/layout.ejs @@ -242,6 +242,7 @@ + <% /* Display an overlay if the current browser is not supported. diff --git a/website/views/pages/transparency.ejs b/website/views/pages/transparency.ejs new file mode 100644 index 00000000000..0c180500e09 --- /dev/null +++ b/website/views/pages/transparency.ejs @@ -0,0 +1,127 @@ +
+ +
+
+

What personal information can osquery see?

+

End users deserve to know what their employer can see on their laptops and the systems they manage.

+
+
+

Osquery does NOT have access to:

+
+
+ keyboard icon +

Keystrokes

+
+
+ mouse icon +

Mouse movements

+
+
+ messages icon +

Email & text messages

+
+
+
+ webcam icon +

Webcams & mic

+
+
+ computer screen icon +

Screen content

+
+
+
+
+
+

Here’s what osquery can see about you and your devices:

+
+
+
+

+ User account logins + +

+

+ Osquery can see details about the user accounts associated with your device, including which accounts have logged in recently. This is useful for IT and security teams to identify logins from suspicious accounts. +

+
+
+

+ Device health & performance + +

+

+ Osquery can see details about your device’s hardware. E.g., what processor is used, how much memory is installed, storage capacity, battery health, etc. This allows IT teams to preemptively address device health problems, which can mitigate data loss and reduce disruption to your workflow caused by IT related issues. +

+
+
+

+ Installed software packages + +

+

+ Osquery can access a detailed list of the software installed on your device. With this information, IT teams can better manage software update schedules, and reduce disruption to your workflow. Security teams can also use this data to determine if any of your software has been compromised, by referencing your software’s version number against known vulnerable software databases. +

+
+
+

+ Running processes + +

+

+ Osquery can access a detailed list of the software installed on your device. With this information, IT teams can better manage software update schedules, and reduce disruption to your workflow. Security teams can also use this data to determine if any of your software has been compromised, by referencing your software’s version number against known vulnerable software databases. +

+
+
+

+ Security configurations + +

+

+ Osquery can see information about the status of firewalls and other security software installed on your device. +

+
+
+

+ Connected hardware devices + +

+

+ Osquery can see information about connected hardware devices. This is typically limited to only the type of hardware connected, and not specific details about the device. E.g., connected smartphones, USB devices, network devices, audio/visual hardware. +

+
+
+

+ Device location + +

+

+ Osquery uses IP geolocation to provide an approximate location of your device. Accuracy of IP geolocation services vary depending on where you are, but can typically be pinpointed within the nearest state or city. Organizations typically use this feature to track stolen or misplaced devices, and in some cases to ensure the safety of employees. +

+
+
+

+ File contents + +

+

+ In the case of a cyber attack, it is possible with osquery to gain read access to files on your system. This is not a feature designed for privacy invasion, but rather a means for security teams to locate files on your device that may have been created or affected by a malicious virus. +

+
+
+
+
+
+
+ privacy icon +
+
+

It’s important to be vigilant about the personal information you share on your devices.

+

If you are unsure, or still have concerns about your privacy, it’s a good idea to talk to your employer about your organization’s privacy policy, and how your personal information is handled.

+ Read about what not to do on your work computer +
+
+
+ +
+<%- /* Expose server-rendered data as window.SAILS_LOCALS :: */ exposeLocalsToBrowser() %>