This is a step by step guide to help you add declarations to the contrib-declaration repository. This repository is dedicated for volunteer contribution of declarations to Open Terms Archive.
Having understood briefly how a declaration is structured in JSON format, we need to look at concrete steps on how you can add these JSON files to the repository.
In order to add declarations:
To add a declaration, you need to follow these steps:
add-Open-Terms-Archive-ToS
or add-firefox-privacy-policy
npm install
. This is to install all the dependencies including the Open Terms Archive engine which will allow you to test and validate your declaration to make sure it is ok.declarations
folder of the repository. To learn more about selecting the right service name, please read the Service name section below.npx ota validate --services [service name]
from the root of the repository. This will run a validation on the declaration, highlighting any changes required.If you have a hard time finding the service name, check out the practical guidelines to find the service name, and feel free to mention your uncertainties in the pull request! We will help you improve the service name if necessary π
The service name is exposed to end users. It should reflect as closely as possible the official service name, as referenced in the terms or βaboutβ pages, so that it can be recognised easily and unambiguously.
eBay
.hi5
.LINE
.App Store
.ΡΡΡΡ.ΡΡ
(Cyrillic).ζι³ηθ§ι’
(Simplified Chinese characters).Booking.com
.historielærer.dk
.Ads
(by Facebook) β Facebook Ads
.Analytics
(by Google) β Google Analytics
.Firebase
(by Google) β Firebase
.App Store
(by Apple) β App Store
.If you have a hard time finding the service name, check out the practical guidelines to find the service name, and feel free to mention your uncertainties in the pull request! We will help you improve the service name if necessary π
The service ID is exposed to developers. It should be easy to handle with scripts and other tools.
RTΓ
β RTE
.historielærer.dk
β historielaerer.dk
.ΡΡΡΡ.ΡΡ
β tutu.ru
.ζι³ηθ§ι’
β Douyin
.:
, /
, \
). These are replaced with a dash (-
). The dot (.
) is supported, but the service ID cannot be solely .
or ..
as these have specific meanings in the filesystem.Booking.com
β Booking.com
.Yahoo!
β Yahoo!
.re:start
β re-start
.we://
β we---
.App Store
β App Store
.DeviantArt
β DeviantArt
.If you have a hard time defining the service ID, check out the practical guidelines to derive the ID from the service name, and feel free to mention your uncertainties in the pull request! We will help you improve the service ID if necessary π
More details on the ID and naming constraints and recommendations can be found in the relevant decision record.
Once you have the service name and the service ID, create a JSON file in the declarations
folder named after the ID of the service you want to add, with the following structure:
{
"name": "<service name>",
"documents": {}
}
Within the documents
JSON object, you will now declare terms.