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.
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)
The API provides machine-readable artifacts for automatic analysis.
reuse spdx
command.
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 :-)