REUSE compliance of nextcloud/end_to_end_encryption

Congratulations, github.com/nextcloud/end_to_end_encryption is REUSE compliant! This project adopts the recommendations to make software licensing easy for humans and machines alike.

Badge

To add the badge to your project's README.md file, use the following snippet:

[![REUSE status](https://api.reuse.software/badge/github.com/nextcloud/end_to_end_encryption)](https://api.reuse.software/info/github.com/nextcloud/end_to_end_encryption)

Machine-readable information

The API provides machine-readable artifacts for automatic analysis.

  • All information about the latest compliance check can also be accessed via a machine-parsable JSON file.
  • You can gather the automatically generated SPDX SBOM in Tag:Value format, based on the reuse spdx command.

Last lint output

Commit 604cd437a170f0b5c287ddf7ad22ef25297f6a0d was checked on 23 Dec 2024 12:18:17 UTC with the following result:

reuse._util - ERROR - Could not parse 'AGPL-3.0-or-later\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nconst getLogger = user => {\n\tif (user === null) {\n\t\treturn getLoggerBuilder()\n\t\t\t.setApp('end_to_end_encryption')\n\t\t\t.build()\n\t}\n\treturn getLoggerBuilder()\n\t\t.setApp('end_to_end_encryption')\n\t\t.setUid(user.uid)\n\t\t.build()\n}\n\nexport default getLogger(getCurrentUser())\n"],"names":["getLogger","user","getLoggerBuilder","logger","getCurrentUser"],"mappings":"wEAQA,MAAMA,EAAYC,GACbA,IAAS,KACLC,EAAgB,EACrB,OAAO,uBAAuB,EAC9B,MAAK,EAEDA,EAAgB,EACrB,OAAO,uBAAuB,EAC9B,OAAOD,EAAK,GAAG,EACf,MAAK,EAGOE,EAAAH,EAAUI,EAAgB,CAAA"'
reuse._util - ERROR - 'js/logger-eZn2uTaV.chunk.mjs.map' holds an SPDX expression that cannot be parsed, skipping the file
reuse._util - ERROR - Could not parse 'AGPL-3.0-or-later\n  -->\n\n<template>\n\t<NcSettingsSection :name=\"t('end_to_end_encryption', 'End-to-end encryption')\"\n\t\t:description=\"encryptionState\">\n\t\t<NcButton v-if=\"!shouldDisplayE2EEInBrowserWarning && userConfig['e2eeInBrowserEnabled'] === false\"\n\t\t\tclass=\"margin-bottom\"\n\t\t\t:disabled=\"!hasKey\"\n\t\t\ttype=\"secondary\"\n\t\t\t@click=\"shouldDisplayE2EEInBrowserWarning = true\">\n\t\t\t{{ t('end_to_end_encryption', 'Enable E2EE navigation in browser') }}\n\t\t</NcButton>\n\t\t<NcNoteCard v-else\n\t\t\tclass=\"notecard\"\n\t\t\ttype=\"warning\"\n\t\t\t:show-alert=\"true\"\n\t\t\t:heading=\"t('end_to_end_encryption', 'Enabling E2EE in the browser can weaken security')\">\n\t\t\t<NcButton v-if=\"userConfig['e2eeInBrowserEnabled'] === false\"\n\t\t\t\tclass=\"close-button\"\n\t\t\t\t:aria-label=\"t('end_to_end_encryption', 'Close')\"\n\t\t\t\ttype=\"tertiary-no-background\"\n\t\t\t\t@click=\"shouldDisplayE2EEInBrowserWarning = false\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconClose :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcButton>\n\n\t\t\t{{ t('end_to_end_encryption', 'The server could serve malicious source code to extract the secret that protects your files.') }}\n\n\t\t\t<NcCheckboxRadioSwitch :disabled=\"!hasKey\"\n\t\t\t\tdata-cy-e2ee-settings-setting=\"e2ee_in_browser_enabled\"\n\t\t\t\t:checked=\"userConfig.e2eeInBrowserEnabled\"\n\t\t\t\tclass=\"margin-bottom\"\n\t\t\t\ttype=\"switch\"\n\t\t\t\t@update:checked=\"value => setConfig('e2eeInBrowserEnabled', value)\">\n\t\t\t\t{{ t('end_to_end_encryption', 'Enable E2EE navigation in browser') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t</NcNoteCard>\n\n\t\t<NcButton v-if=\"!shouldDisplayWarning\"\n\t\t\t:disabled=\"!hasKey\"\n\t\t\t:type=\"(hasKey && !shouldDisplayWarning) ? 'error' : 'secondary'\"\n\t\t\t@click=\"startResetProcess()\">\n\t\t\t{{ t('end_to_end_encryption', 'Reset end-to-end encryption') }}\n\t\t</NcButton>\n\t\t<NcNoteCard v-else\n\t\t\tclass=\"notecard\"\n\t\t\ttype=\"warning\"\n\t\t\t:show-alert=\"true\"\n\t\t\t:heading=\"t('end_to_end_encryption', 'Please read carefully before resetting your end-to-end encryption keys')\">\n\t\t\t<NcButton class=\"close-button\"\n\t\t\t\t:aria-label=\"t('end_to_end_encryption', 'Close')\"\n\t\t\t\ttype=\"tertiary-no-background\"\n\t\t\t\t@click=\"shouldDisplayWarning = false\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconClose :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcButton>\n\n\t\t\t<ul>\n\t\t\t\t<li>{{ t('end_to_end_encryption', 'Once your end-to-end encryption keys are reset, all files stored in your encrypted folder will be inaccessible.') }}</li>\n\t\t\t\t<li>{{ t('end_to_end_encryption', 'You should only reset your end-to-end encryption keys if you lost your secure key words (mnemonic).') }}</li>\n\t\t\t\t<li>{{ t('end_to_end_encryption', 'Check on all connected devices'
reuse._util - ERROR - 'js/end_to_end_encryption-settings.mjs.map' holds an SPDX expression that cannot be parsed, skipping the file
reuse._util - ERROR - Could not parse 'AGPL-3.0-or-later\n */\n\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nconst getLogger = user => {\n\tif (user === null) {\n\t\treturn getLoggerBuilder()\n\t\t\t.setApp('end_to_end_encryption')\n\t\t\t.build()\n\t}\n\treturn getLoggerBuilder()\n\t\t.setApp('end_to_end_encryption')\n\t\t.setUid(user.uid)\n\t\t.build()\n}\n\nexport default getLogger(getCurrentUser())\n"],"names":["getLogger","user","getLoggerBuilder","logger","getCurrentUser"],"mappings":"wEAQA,MAAMA,EAAYC,GACbA,IAAS,KACLC,EAAgB,EACrB,OAAO,uBAAuB,EAC9B,MAAK,EAEDA,EAAgB,EACrB,OAAO,uBAAuB,EAC9B,OAAOD,EAAK,GAAG,EACf,MAAK,EAGOE,EAAAH,EAAUI,EAAgB,CAAA"'
reuse._util - ERROR - 'js/logger-eZn2uTaV.chunk.mjs.map' holds an SPDX expression that cannot be parsed, skipping the file
reuse._util - ERROR - Could not parse 'AGPL-3.0-or-later\n  -->\n\n<template>\n\t<NcSettingsSection :name=\"t('end_to_end_encryption', 'End-to-end encryption')\"\n\t\t:description=\"encryptionState\">\n\t\t<NcButton v-if=\"!shouldDisplayE2EEInBrowserWarning && userConfig['e2eeInBrowserEnabled'] === false\"\n\t\t\tclass=\"margin-bottom\"\n\t\t\t:disabled=\"!hasKey\"\n\t\t\ttype=\"secondary\"\n\t\t\t@click=\"shouldDisplayE2EEInBrowserWarning = true\">\n\t\t\t{{ t('end_to_end_encryption', 'Enable E2EE navigation in browser') }}\n\t\t</NcButton>\n\t\t<NcNoteCard v-else\n\t\t\tclass=\"notecard\"\n\t\t\ttype=\"warning\"\n\t\t\t:show-alert=\"true\"\n\t\t\t:heading=\"t('end_to_end_encryption', 'Enabling E2EE in the browser can weaken security')\">\n\t\t\t<NcButton v-if=\"userConfig['e2eeInBrowserEnabled'] === false\"\n\t\t\t\tclass=\"close-button\"\n\t\t\t\t:aria-label=\"t('end_to_end_encryption', 'Close')\"\n\t\t\t\ttype=\"tertiary-no-background\"\n\t\t\t\t@click=\"shouldDisplayE2EEInBrowserWarning = false\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconClose :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcButton>\n\n\t\t\t{{ t('end_to_end_encryption', 'The server could serve malicious source code to extract the secret that protects your files.') }}\n\n\t\t\t<NcCheckboxRadioSwitch :disabled=\"!hasKey\"\n\t\t\t\tdata-cy-e2ee-settings-setting=\"e2ee_in_browser_enabled\"\n\t\t\t\t:checked=\"userConfig.e2eeInBrowserEnabled\"\n\t\t\t\tclass=\"margin-bottom\"\n\t\t\t\ttype=\"switch\"\n\t\t\t\t@update:checked=\"value => setConfig('e2eeInBrowserEnabled', value)\">\n\t\t\t\t{{ t('end_to_end_encryption', 'Enable E2EE navigation in browser') }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t</NcNoteCard>\n\n\t\t<NcButton v-if=\"!shouldDisplayWarning\"\n\t\t\t:disabled=\"!hasKey\"\n\t\t\t:type=\"(hasKey && !shouldDisplayWarning) ? 'error' : 'secondary'\"\n\t\t\t@click=\"startResetProcess()\">\n\t\t\t{{ t('end_to_end_encryption', 'Reset end-to-end encryption') }}\n\t\t</NcButton>\n\t\t<NcNoteCard v-else\n\t\t\tclass=\"notecard\"\n\t\t\ttype=\"warning\"\n\t\t\t:show-alert=\"true\"\n\t\t\t:heading=\"t('end_to_end_encryption', 'Please read carefully before resetting your end-to-end encryption keys')\">\n\t\t\t<NcButton class=\"close-button\"\n\t\t\t\t:aria-label=\"t('end_to_end_encryption', 'Close')\"\n\t\t\t\ttype=\"tertiary-no-background\"\n\t\t\t\t@click=\"shouldDisplayWarning = false\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconClose :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcButton>\n\n\t\t\t<ul>\n\t\t\t\t<li>{{ t('end_to_end_encryption', 'Once your end-to-end encryption keys are reset, all files stored in your encrypted folder will be inaccessible.') }}</li>\n\t\t\t\t<li>{{ t('end_to_end_encryption', 'You should only reset your end-to-end encryption keys if you lost your secure key words (mnemonic).') }}</li>\n\t\t\t\t<li>{{ t('end_to_end_encryption', 'Check on all connected devices'
reuse._util - ERROR - 'js/end_to_end_encryption-settings.mjs.map' holds an SPDX expression that cannot be parsed, skipping the file

# SUMMARY

* Bad licenses: 0
* Deprecated licenses: 0
* Licenses without file extension: 0
* Missing licenses: 0
* Unused licenses: 0
* Used licenses: GPL-3.0-or-later, MIT, 0BSD, AGPL-3.0-or-later, ISC, BSD-3-Clause, MPL-2.0, CC0-1.0, Apache-2.0
* Read errors: 0
* Files with copyright information: 340 / 340
* Files with license information: 340 / 340

Congratulations! Your project is compliant with version 3.2 of the REUSE Specification :-)