Neue Datenstruktur #36

Manually merged
tsmr merged 7 commits from feature/#31-duplicate-sa into dev 1 year ago
  1. 3
      .gitignore
  2. 121
      data/LICENSE
  3. 19
      data/README.md
  4. 87
      data/build-data.js
  5. 110
      data/schema-supervisory-authorities.json
  6. 72
      data/schema-tracker.json
  7. 268
      data/supervisory-authorities-recognize/german-zip-code.json
  8. 21
      data/supervisory-authorities/debawueldb.json
  9. 23
      data/supervisory-authorities/debaylda.json
  10. 20
      data/supervisory-authorities/deberlbdi.json
  11. 25
      data/supervisory-authorities/debralda.json
  12. 24
      data/supervisory-authorities/debrelfdi.json
  13. 24
      data/supervisory-authorities/dehessbdi.json
  14. 23
      data/supervisory-authorities/dehmbbfdi.json
  15. 24
      data/supervisory-authorities/demvldi.json
  16. 25
      data/supervisory-authorities/dendslfd.json
  17. 20
      data/supervisory-authorities/denrwldi.json
  18. 23
      data/supervisory-authorities/derlpbdi.json
  19. 20
      data/supervisory-authorities/desaarudz.json
  20. 23
      data/supervisory-authorities/desaechsdsb.json
  21. 25
      data/supervisory-authorities/desalbd.json
  22. 25
      data/supervisory-authorities/deshuld.json
  23. 21
      data/supervisory-authorities/detlfdi.json
  24. 22
      data/templates/de/website-tracking-complaint.txt
  25. 14
      data/templates/de/website-tracking-request.txt
  26. 47
      data/test-records.js
  27. 12
      data/tracker/adex.json
  28. 13
      data/tracker/adobe-experience-cloud.json
  29. 12
      data/tracker/bazaarvoice.json
  30. 12
      data/tracker/criteo.json
  31. 12
      data/tracker/econda.json
  32. 9
      data/tracker/fb-pixel.json
  33. 15
      data/tracker/google-adsense.json
  34. 10
      data/tracker/google-analytics.json
  35. 9
      data/tracker/google-cookie-matching.json
  36. 12
      data/tracker/google-recaptcha.json
  37. 9
      data/tracker/microsoft-universal-event-tracking.json
  38. 12
      data/tracker/neory.json
  39. 12
      data/tracker/salesforce-audience-studio.json
  40. 12
      data/tracker/trade-desk.json
  41. 7
      data/tracker/trbo.json
  42. 9
      data/tracker/twitter-website-tag.json
  43. 7
      data/tracker/webtrekk-mapp-cross-device-tracking.json
  44. 13
      data/tracker/webtrekk-mapp-intelligence.json
  45. 3430
      package-lock.json
  46. 33
      package.json
  47. 163
      src/components/complaintgenerator.tsx
  48. 29
      src/components/complaintgenerator/trackeritem.tsx
  49. 33
      src/components/tracker.tsx
  50. 98
      src/data/dsb_de.json
  51. 228
      src/data/dsb_eu.json
  52. 228
      src/data/dsb_eu_eng.json
  53. 4
      src/index.tsx
  54. 1
      src/letter-generator.d.ts
  55. 4
      src/locale/de/common.json
  56. 210
      src/locale/de/text.json
  57. 4
      src/locale/i18n.ts
  58. 1
      src/style/generator.scss
  59. 10
      src/utils.ts

3
.gitignore

@ -1,2 +1,3 @@
node_modules/
build/
build/
src/data/**.*

121
data/LICENSE

@ -0,0 +1,121 @@
Creative Commons Legal Code
CC0 1.0 Universal
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
HEREUNDER.
Statement of Purpose
The laws of most jurisdictions throughout the world automatically confer
exclusive Copyright and Related Rights (defined below) upon the creator
and subsequent owner(s) (each and all, an "owner") of an original work of
authorship and/or a database (each, a "Work").
Certain owners wish to permanently relinquish those rights to a Work for
the purpose of contributing to a commons of creative, cultural and
scientific works ("Commons") that the public can reliably and without fear
of later claims of infringement build upon, modify, incorporate in other
works, reuse and redistribute as freely as possible in any form whatsoever
and for any purposes, including without limitation commercial purposes.
These owners may contribute to the Commons to promote the ideal of a free
culture and the further production of creative, cultural and scientific
works, or to gain reputation or greater distribution for their Work in
part through the use and efforts of others.
For these and/or other purposes and motivations, and without any
expectation of additional consideration or compensation, the person
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
is an owner of Copyright and Related Rights in the Work, voluntarily
elects to apply CC0 to the Work and publicly distribute the Work under its
terms, with knowledge of his or her Copyright and Related Rights in the
Work and the meaning and intended legal effect of CC0 on those rights.
1. Copyright and Related Rights. A Work made available under CC0 may be
protected by copyright and related or neighboring rights ("Copyright and
Related Rights"). Copyright and Related Rights include, but are not
limited to, the following:
i. the right to reproduce, adapt, distribute, perform, display,
communicate, and translate a Work;
ii. moral rights retained by the original author(s) and/or performer(s);
iii. publicity and privacy rights pertaining to a person's image or
likeness depicted in a Work;
iv. rights protecting against unfair competition in regards to a Work,
subject to the limitations in paragraph 4(a), below;
v. rights protecting the extraction, dissemination, use and reuse of data
in a Work;
vi. database rights (such as those arising under Directive 96/9/EC of the
European Parliament and of the Council of 11 March 1996 on the legal
protection of databases, and under any national implementation
thereof, including any amended or successor version of such
directive); and
vii. other similar, equivalent or corresponding rights throughout the
world based on applicable law or treaty, and any national
implementations thereof.
2. Waiver. To the greatest extent permitted by, but not in contravention
of, applicable law, Affirmer hereby overtly, fully, permanently,
irrevocably and unconditionally waives, abandons, and surrenders all of
Affirmer's Copyright and Related Rights and associated claims and causes
of action, whether now known or unknown (including existing as well as
future claims and causes of action), in the Work (i) in all territories
worldwide, (ii) for the maximum duration provided by applicable law or
treaty (including future time extensions), (iii) in any current or future
medium and for any number of copies, and (iv) for any purpose whatsoever,
including without limitation commercial, advertising or promotional
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
member of the public at large and to the detriment of Affirmer's heirs and
successors, fully intending that such Waiver shall not be subject to
revocation, rescission, cancellation, termination, or any other legal or
equitable action to disrupt the quiet enjoyment of the Work by the public
as contemplated by Affirmer's express Statement of Purpose.
3. Public License Fallback. Should any part of the Waiver for any reason
be judged legally invalid or ineffective under applicable law, then the
Waiver shall be preserved to the maximum extent permitted taking into
account Affirmer's express Statement of Purpose. In addition, to the
extent the Waiver is so judged Affirmer hereby grants to each affected
person a royalty-free, non transferable, non sublicensable, non exclusive,
irrevocable and unconditional license to exercise Affirmer's Copyright and
Related Rights in the Work (i) in all territories worldwide, (ii) for the
maximum duration provided by applicable law or treaty (including future
time extensions), (iii) in any current or future medium and for any number
of copies, and (iv) for any purpose whatsoever, including without
limitation commercial, advertising or promotional purposes (the
"License"). The License shall be deemed effective as of the date CC0 was
applied by Affirmer to the Work. Should any part of the License for any
reason be judged legally invalid or ineffective under applicable law, such
partial invalidity or ineffectiveness shall not invalidate the remainder
of the License, and in such case Affirmer hereby affirms that he or she
will not (i) exercise any of his or her remaining Copyright and Related
Rights in the Work or (ii) assert any associated claims and causes of
action with respect to the Work, in either case contrary to Affirmer's
express Statement of Purpose.
4. Limitations and Disclaimers.
a. No trademark or patent rights held by Affirmer are waived, abandoned,
surrendered, licensed or otherwise affected by this document.
b. Affirmer offers the Work as-is and makes no representations or
warranties of any kind concerning the Work, express, implied,
statutory or otherwise, including without limitation warranties of
title, merchantability, fitness for a particular purpose, non
infringement, or the absence of latent or other defects, accuracy, or
the present or absence of errors, whether or not discoverable, all to
the greatest extent permissible under applicable law.
c. Affirmer disclaims responsibility for clearing rights of other persons
that may apply to the Work or any use thereof, including without
limitation any person's Copyright and Related Rights in the Work.
Further, Affirmer disclaims responsibility for obtaining any necessary
consents, permissions or other rights required for any use of the
Work.
d. Affirmer understands and acknowledges that Creative Commons is not a
party to this document and has no duty or obligation with respect to
this CC0 or use of the Work.

19
data/README.md

@ -0,0 +1,19 @@
# Tracker data for träcktor.de
## Testing records
You can run the script locally. To do so, first install [Node.js](https://nodejs.org/en/download/) and npm. In the repository folder, run `npm i` to grab all necessary dependencies.
To use it manually, simply run `npm test`.
## Data formats
The tracker data is located in the tracker folder. Every tracker in our database is represented by a single JSON file (named after the slug in the JSON). The JSON has to follow the schema specified in the schema-tracker.json file.
The `supervisory-authorities` folder contains data on supervisory data protection authorities. They are structured similarly to the tracker records, following the schema in the `schema-supervisory-authorities.json` file.
## Required elements
If we know from previous requests (or from a privacy policy) which identification information is needed for requests to a company, we record that under the `required-elements` key.
If `required_elements` are specified, there *should* be one element with type `name`. This does not have to be a real name but could also be a username or even an email address, if no other information is required.
In addition, the `required_elements` should include some way for the company to respond to the request, be it an address, an email address, a phone number or something similar.

87
data/build-data.js

@ -0,0 +1,87 @@
const fs = require("fs");
const path = require("path");
const schemaToTypescript = require('json-schema-to-typescript');
const { lang } = require("moment");
const savedir = path.join(__dirname, "../src/data/");
// *********************************
// create single json and typescript interfaces
function createImportFile (dirname) {
let content = [];
fs.readdirSync(path.join(__dirname, dirname)).forEach(file => {
const data = JSON.parse(fs.readFileSync(path.join(__dirname, dirname, file)).toString());
content.push(data);
})
fs.writeFileSync(path.join(savedir, `${dirname}.ts`),
`export default ${JSON.stringify(content)};
`
);
}
if (!fs.existsSync(savedir)) {
fs.mkdirSync(savedir);
}
function createInterfaces (name, interfaceName, interfaceNameextendsFrom) {
schemaToTypescript.compileFromFile(path.join(__dirname, `schema-${name}.json`))
.then(ts => {
if (interfaceName) {
ts += `interface ${interfaceName} extends ${interfaceNameextendsFrom}{};
export default ${interfaceName};
`
}
fs.writeFileSync(path.join(savedir, `${name}.d.ts`), ts)
})
}
createImportFile("supervisory-authorities");
createInterfaces("supervisory-authorities");
createImportFile("tracker");
createInterfaces("tracker", "ITracker", "TrackerDatabase");
// *********************************
// copy static files
fs.copyFileSync(path.join(__dirname, "supervisory-authorities-recognize/german-zip-code.json"), path.join(savedir, "german-zip-code.json"));
// *********************************
// create templates json file
let templates = {};
fs.readdirSync(path.join(__dirname, "templates")).forEach(languageCode => {
templates[languageCode] = {};
fs.readdirSync(path.join(__dirname, "templates", languageCode)).forEach(templateName => {
const fileContent = fs.readFileSync(path.join(__dirname, "templates", languageCode, templateName)).toString();
templates[languageCode][templateName.replace(".txt", "")] = fileContent;
})
})
fs.writeFileSync(path.join(savedir, `templates.ts`),
`export default ${JSON.stringify(templates)};`);

110
data/schema-supervisory-authorities.json

@ -0,0 +1,110 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "supervisory authority",
"description": "",
"type": "object",
"properties": {
"slug": {
"type": "string",
"title": "Slug",
"pattern": "^[a-z0-9-]+$",
"description": "A unique identifier for the supervisory authority record. Also defines the filename."
},
"relevant-countries": {
"type": "array",
"title": "Relevant countries",
"description": "A list of countries the record is relevant for. The countries can either be an ISO 3166-1 alpha-2 country code or 'all'. If a supervisory authority offers its services in English and isn't explicitly restricted to certain countries, 'all' should be specified.",
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^([a-z]{2}|all)$"
}
},
"name": {
"type": "string",
"description": "The official name of the authority.",
"title": "Name"
},
"address": {
"type": "string",
"title": "Address",
"description": "The address where the authority can be reached to lodge complaints. Has to include the country (either in the country's native language or in English) in the last line and should be formatted according to the standards of the respective country.",
"format": "text"
},
"phone": {
"type": "string",
"title": "Phone",
"description": "A phone number where the authority can be reached for privacy-related inquires and complaints. Has to be in the standard international format and include the country code.",
"pattern": "^\\+\\d+ \\d+ [\\d ]+$"
},
"fax": {
"type": "string",
"title": "Fax",
"description": "A fax number where the authority can be reached for privacy-related inquires and complaints. Has to be in the standard international format and include the country code.",
"pattern": "^\\+\\d+ \\d+ [\\d ]+$"
},
"email": {
"type": "string",
"title": "Email",
"description": "An email address where the authority can be reached to lodge complaints. Preferably a specific complaint@[domain.tld] address if available.",
"format": "idn-email"
},
"pgp-fingerprint": {
"type": "string",
"title": "PGP fingerprint",
"description": "Fingerprint of the PGP key of the email address used to lodge complaints with the authority. The PGP key should be found by this key on public keyservers. Please check the key thoroughly before entering it.",
"pattern": "^([0-9A-F]{4} ){5}( [0-9A-F]{4}){5}$"
},
"pgp-url": {
"type": "string",
"title": "PGP URL",
"description": "URL, where the PGP key of the email address used to lodge complaints with the authority can be downloaded. The protocol *must* be https and the domain has to belong to the repective authority. Please check the key thoroughly before entering it.",
"format": "uri"
},
"web": {
"type": "string",
"title": "Website",
"description": "The authority's main website.",
"format": "uri"
},
"online-complaint-form": {
"type": "string",
"title": "Online complaint form",
"description": "The authority's online complaint form.",
"format": "uri"
},
"sources": {
"type": "array",
"title": "Sources",
"description": "A list of sources for the record. Preferably from the authority's official website.",
"uniqueItems": true,
"items": {
"type": "string",
"format": "uri"
}
},
"complaint-language": {
"type": "string",
"title": "Complaint language",
"description": "The language complaint to the authority should be in. Has to be an ISO 639-1 language code. If not specified, fallback to the interface language.",
"pattern": "^[a-z]{2}$"
},
"suggested-transport-medium": {
"type": "string",
"title": "Suggested transport medium",
"description": "The transport medium a user should use for their privacy-related inquires and requests. If a PGP key is available, 'email' should be specified. The default is a fallback chain as follows: fax -> letter -> email.",
"enum": [ "fax", "letter", "email" ]
},
"comments": {
"type": "array",
"title": "Comments",
"description": "A list of notes relevant to the record.",
"items": {
"type": "string",
"format": "text"
}
}
},
"additionalProperties": false,
"required": [ "slug", "relevant-countries", "name", "address", "sources" ]
}

72
data/schema-tracker.json

@ -0,0 +1,72 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "tracker database",
"description": "",
"type": "object",
"properties": {
"slug": {
"type": "string",
"title": "Slug",
"pattern": "^[a-z0-9-]+$",
"description": "A unique identifier for the tracker record. Also defines the filename."
},
"name": {
"type": "string",
"description": "The name of the tracker.",
"title": "Name"
},
"search-by": {
"type": "string",
"description": "Filter for network analysis.",
"title": "Filter"
},
"cname-cloaking": {
"type": "boolean",
"description": "Whether Cname Cloaking is used for the tracker.",
"title": "Cname Cloaking"
},
"tracking-urls": {
"type": "array",
"title": "Tracking urls",
"description": "",
"items": {
"type": "string",
"format": "text"
}
},
"note": {
"type": "object",
"description": "Displays an additional notice when the tracker is selected.",
"title": "Additional notice",
"properties": {
"image": {
"type": "string",
"description": "Relative path to the hint image",
"title": "Relative path"
},
"title": {
"type": "string",
"description": "Heading to the additional notice",
"title": "heading"
},
"text": {
"type": "string",
"description": "The information about the selected tracker",
"title": "Note text"
}
}
},
"template": {
"type": "string",
"description": "The request text and, if not existing, also the complaint text.",
"title": "template"
},
"complaint-template": {
"type": "string",
"description": "The complaint text, if it differs from the request text.",
"title": "complaint template"
}
},
"additionalProperties": false,
"required": [ "slug", "name", "template" ]
}

268
src/data/plz_to_dsb_de.json → data/supervisory-authorities-recognize/german-zip-code.json

@ -2,611 +2,611 @@
{
"from": 1001,
"to": 1941,
"dsbid": 14
"dsb_slug": "desaechsdsb"
},
{
"from": 1941,
"to": 2601,
"dsbid": 12
"dsb_slug": "debralda"
},
{
"from": 2601,
"to": 3001,
"dsbid": 14
"dsb_slug": "desaechsdsb"
},
{
"from": 3001,
"to": 4001,
"dsbid": 12
"dsb_slug": "debralda"
},
{
"from": 4001,
"to": 4581,
"dsbid": 14
"dsb_slug": "desaechsdsb"
},
{
"from": 4581,
"to": 4641,
"dsbid": 16
"dsb_slug": "detlfdi"
},
{
"from": 4641,
"to": 4891,
"dsbid": 14
"dsb_slug": "desaechsdsb"
},
{
"from": 4891,
"to": 6001,
"dsbid": 12
"dsb_slug": "debralda"
},
{
"from": 6001,
"to": 6551,
"dsbid": 15
"dsb_slug": "desalbd"
},
{
"from": 6551,
"to": 6601,
"dsbid": 16
"dsb_slug": "detlfdi"
},
{
"from": 6601,
"to": 7301,
"dsbid": 15
"dsb_slug": "desalbd"
},
{
"from": 7301,
"to": 7917,
"dsbid": 16
"dsb_slug": "detlfdi"
},
{
"from": 7917,
"to": 7919,
"dsbid": 14
"dsb_slug": "desaechsdsb"
},
{
"from": 7919,
"to": 7951,
"dsbid": 16
"dsb_slug": "detlfdi"
},
{
"from": 7951,
"to": 7953,
"dsbid": 14
"dsb_slug": "desaechsdsb"
},
{
"from": 7953,
"to": 7982,
"dsbid": 16
"dsb_slug": "detlfdi"
},
{
"from": 7982,
"to": 7985,
"dsbid": 14
"dsb_slug": "desaechsdsb"
},
{
"from": 7985,
"to": 8001,
"dsbid": 16
"dsb_slug": "detlfdi"
},
{
"from": 8001,
"to": 10001,
"dsbid": 14
"dsb_slug": "desaechsdsb"
},
{
"from": 10001,
"to": 12529,
"dsbid": 11
"dsb_slug": "deberlbdi"
},
{
"from": 12529,
"to": 12531,
"dsbid": 12
"dsb_slug": "debralda"
},
{
"from": 12531,
"to": 12625,
"dsbid": 11
"dsb_slug": "deberlbdi"
},
{
"from": 12625,
"to": 12627,
"dsbid": 12
"dsb_slug": "debralda"
},
{
"from": 12627,
"to": 14401,
"dsbid": 11
"dsb_slug": "deberlbdi"
},
{
"from": 14401,
"to": 17001,
"dsbid": 12
"dsb_slug": "debralda"
},
{
"from": 17001,
"to": 17261,
"dsbid": 13
"dsb_slug": "demvldi"
},
{
"from": 17261,
"to": 17301,
"dsbid": 12
"dsb_slug": "debralda"
},
{
"from": 17301,
"to": 17337,
"dsbid": 13
"dsb_slug": "demvldi"
},
{
"from": 17337,
"to": 17345,
"dsbid": 12
"dsb_slug": "debralda"
},
{
"from": 17345,
"to": 19307,
"dsbid": 13
"dsb_slug": "demvldi"
},
{
"from": 19307,
"to": 19361,
"dsbid": 12
"dsb_slug": "debralda"
},
{
"from": 19361,
"to": 20001,
"dsbid": 13
"dsb_slug": "demvldi"
},
{
"from": 20001,
"to": 21202,
"dsbid": 2
"dsb_slug": "dehmbbfdi"
},
{
"from": 21202,
"to": 21451,
"dsbid": 3
"dsb_slug": "dendslfd"
},
{
"from": 21451,
"to": 21522,
"dsbid": 1
"dsb_slug": "deshuld"
},
{
"from": 21522,
"to": 21524,
"dsbid": 3
"dsb_slug": "dendslfd"
},
{
"from": 21524,
"to": 21601,
"dsbid": 1
"dsb_slug": "deshuld"
},
{
"from": 21601,
"to": 22001,
"dsbid": 3
"dsb_slug": "dendslfd"
},
{
"from": 22001,
"to": 22801,
"dsbid": 2
"dsb_slug": "dehmbbfdi"
},
{
"from": 22801,
"to": 23921,
"dsbid": 1
"dsb_slug": "deshuld"
},
{
"from": 23921,
"to": 24001,
"dsbid": 13
"dsb_slug": "demvldi"
},
{
"from": 24001,
"to": 26001,
"dsbid": 1
"dsb_slug": "deshuld"
},
{
"from": 26001,
"to": 27483,
"dsbid": 3
"dsb_slug": "dendslfd"
},
{
"from": 27483,
"to": 27499,
"dsbid": 1
"dsb_slug": "deshuld"
},
{
"from": 27499,
"to": 27501,
"dsbid": 2
"dsb_slug": "dehmbbfdi"
},
{
"from": 27501,
"to": 27607,
"dsbid": 4
"dsb_slug": "debrelfdi"
},
{
"from": 27607,
"to": 28001,
"dsbid": 3
"dsb_slug": "dendslfd"
},
{
"from": 28001,
"to": 28784,
"dsbid": 4
"dsb_slug": "debrelfdi"
},
{
"from": 28784,
"to": 32001,
"dsbid": 3
"dsb_slug": "dendslfd"
},
{
"from": 32001,
"to": 34001,
"dsbid": 5
"dsb_slug": "denrwldi"
},
{
"from": 34001,
"to": 34331,
"dsbid": 6
"dsb_slug": "dehessbdi"
},
{
"from": 34331,
"to": 34356,
"dsbid": 3
"dsb_slug": "dendslfd"
},
{
"from": 34356,
"to": 34401,
"dsbid": 6
"dsb_slug": "dehessbdi"
},
{
"from": 34401,
"to": 34441,
"dsbid": 5
"dsb_slug": "denrwldi"
},
{
"from": 34441,
"to": 36401,
"dsbid": 6
"dsb_slug": "dehessbdi"
},
{
"from": 36401,
"to": 37001,
"dsbid": 3
"dsb_slug": "dendslfd"
},
{
"from": 37001,
"to": 37201,
"dsbid": 6
"dsb_slug": "dehessbdi"
},
{
"from": 37301,
"to": 37401,
"dsbid": 16
"dsb_slug": "detlfdi"
},
{
"from": 37401,
"to": 37651,
"dsbid": 3
"dsb_slug": "dendslfd"
},
{
"from": 37651,
"to": 37689,
"dsbid": 5
"dsb_slug": "denrwldi"
},
{
"from": 37689,
"to": 37692,
"dsbid": 3
"dsb_slug": "dendslfd"
},
{
"from": 37692,
"to": 37697,
"dsbid": 5
"dsb_slug": "denrwldi"
},
{
"from": 37697,
"to": 38481,
"dsbid": 3
"dsb_slug": "dendslfd"
},
{
"from": 38481,
"to": 38501,
"dsbid": 15
"dsb_slug": "desalbd"
},
{
"from": 38501,
"to": 38801,
"dsbid": 3
"dsb_slug": "dendslfd"
},
{
"from": 38801,
"to": 40001,
"dsbid": 15
"dsb_slug": "desalbd"
},
{
"from": 40001,
"to": 48432,
"dsbid": 5
"dsb_slug": "denrwldi"
},
{ "from": 48442,
"to": 48465,
"dsbid": 3
"dsb_slug": "dendslfd"
},
{
"from": 48466,
"to": 48478,
"dsbid": 5
"dsb_slug": "denrwldi"
},
{
"from": 48478,
"to": 48481,
"dsbid": 3
"dsb_slug": "dendslfd"
},
{
"from": 48481,
"to": 48486,
"dsbid": 5
"dsb_slug": "denrwldi"
},
{
"from": 48486,
"to": 48489,
"dsbid": 3
"dsb_slug": "dendslfd"
},
{
"from": 48489,
"to": 48497,
"dsbid": 5
"dsb_slug": "denrwldi"
},
{
"from": 48497,
"to": 48541,
"dsbid": 3
"dsb_slug": "dendslfd"
},
{
"from": 48541,
"to": 49001,
"dsbid": 5
"dsb_slug": "denrwldi"
},
{
"from": 49001,
"to": 49461,
"dsbid": 3
"dsb_slug": "dendslfd"
},
{
"from": 49461,
"to": 49551,
"dsbid": 5
"dsb_slug": "denrwldi"
},
{
"from": 49551,
"to": 50101,
"dsbid": 3
"dsb_slug": "dendslfd"
},
{
"from": 50101,
"to": 51598,
"dsbid": 5
"dsb_slug": "denrwldi"
},
{
"from": 51598,
"to": 51601,
"dsbid": 7
"dsb_slug": "derlpbdi"
},
{
"from": 51601,
"to": 53401,
"dsbid": 5
"dsb_slug": "denrwldi"
},
{
"from": 53401,
"to": 53581,
"dsbid": 7
"dsb_slug": "derlpbdi"
},
{
"from": 53581,
"to": 53614,
"dsbid": 5
"dsb_slug": "denrwldi"
},
{
"from": 53614,
"to": 53621,
"dsbid": 7
"dsb_slug": "derlpbdi"
},
{
"from": 53621,
"to": 54201,
"dsbid": 5
"dsb_slug": "denrwldi"
},
{
"from": 54201,
"to": 55240,
"dsbid": 7
"dsb_slug": "derlpbdi"
},
{
"from": 55240,
"to": 55253,
"dsbid": 6
"dsb_slug": "dehessbdi"
},
{
"from": 55253,
"to": 57001,
"dsbid": 7
"dsb_slug": "derlpbdi"
},
{
"from": 57001,
"to": 57501,
"dsbid": 5
"dsb_slug": "denrwldi"
},
{
"from": 57501,
"to": 58001,
"dsbid": 7
"dsb_slug": "derlpbdi"
},
{
"from": 58001,
"to": 60001,
"dsbid": 5
"dsb_slug": "denrwldi"
},
{
"from": 60001,
"to": 63701,
"dsbid": 6
"dsb_slug": "dehessbdi"
},
{
"from": 63701,
"to": 64201,
"dsbid": 9
"dsb_slug": "debaylda"
},
{
"from": 64201,
"to": 65558,
"dsbid": 6
"dsb_slug": "dehessbdi"
},
{
"from": 65558,
"to": 65583,
"dsbid": 7
"dsb_slug": "derlpbdi"
},
{
"from": 65583,
"to": 65621,
"dsbid": 6
"dsb_slug": "dehessbdi"
},
{
"from": 65621,
"to": 65627,
"dsbid": 7
"dsb_slug": "derlpbdi"
},
{
"from": 65627,
"to": 65629,
"dsbid": 6
"dsb_slug": "dehessbdi"
},
{
"from": 65629,
"to": 65701,
"dsbid": 7
"dsb_slug": "derlpbdi"
},
{
"from": 65701,
"to": 66001,
"dsbid": 6
"dsb_slug": "dehessbdi"
},
{
"from": 66001,
"to": 66461,
"dsbid": 10
"dsb_slug": "deshuld"
},
{
"from": 66461,
"to": 66511,
"dsbid": 7
"dsb_slug": "derlpbdi"
},
{
"from": 66511,
"to": 66841,
"dsbid": 10
"dsb_slug": "deshuld"
},
{
"from": 66841,
"to": 68001,
"dsbid": 7
"dsb_slug": "derlpbdi"
},
{
"from": 68001,
"to": 68501,
"dsbid": 8
"dsb_slug": "debawueldb"
},
{
"from": 68501,
"to": 68520,
"dsbid": 6
"dsb_slug": "dehessbdi"
},
{
"from": 68520,
"to": 68601,
"dsbid": 8
"dsb_slug": "debawueldb"
},
{
"from": 68601,
"to": 68701,
"dsbid": 6
"dsb_slug": "dehessbdi"
},
{
"from": 68701,
"to": 69235,
"dsbid": 8
"dsb_slug": "debawueldb"
},
{
"from": 69235,
"to": 69240,
"dsbid": 6
"dsb_slug": "dehessbdi"
},
{
"from": 69240,
"to": 69430,
"dsbid": 8
"dsb_slug": "debawueldb"
},
{
"from": 69430,
"to": 69434,
"dsbid": 6
"dsb_slug": "dehessbdi"
},
{
"from": 69434,
"to": 69479,
"dsbid": 8
"dsb_slug": "debawueldb"
},
{
"from": 69479,
"to": 69489,
"dsbid": 6
"dsb_slug": "dehessbdi"
},
{
"from": 69489,
"to": 69503,
"dsbid": 8
"dsb_slug": "debawueldb"
},
{
"from": 69503,
"to": 69510,
"dsbid": 6
"dsb_slug": "dehessbdi"
},
{
"from": 69510,
"to": 69515,
"dsbid": 8
"dsb_slug": "debawueldb"
},
{
"from": 69515,
"to": 70001,
"dsbid": 6
"dsb_slug": "dehessbdi"
},
{
"from": 70001,
"to": 76711,
"dsbid": 8
"dsb_slug": "debawueldb"
},
{
"from": 76711,
"to": 77601,
"dsbid": 7
"dsb_slug": "derlpbdi"
},
{
"from": 77601,
"to": 80001,
"dsbid": 8
"dsb_slug": "debawueldb"
},
{
"from": 80001,
"to": 87491,
"dsbid": 9
"dsb_slug": "debaylda"
},
{
"from": 87491,
@ -616,7 +616,7 @@
{
"from": 87493,
"to": 87567,
"dsbid": 9
"dsb_slug": "debaylda"
},
{
"from": 87567,
@ -626,56 +626,56 @@
{
"from": 87571,
"to": 88001,
"dsbid": 9
"dsb_slug": "debaylda"
},
{
"from": 88001,
"to": 88101,
"dsbid": 8
"dsb_slug": "debawueldb"
},
{
"from": 88101,
"to": 88181,
"dsbid": 9
"dsb_slug": "debaylda"
},
{
"from": 88181,
"to": 89201,
"dsbid": 8
"dsb_slug": "debawueldb"
},
{
"from": 89201,
"to": 89501,
"dsbid": 9
"dsb_slug": "debaylda"
},
{
"from": 89501,
"to": 90001,
"dsbid": 8
"dsb_slug": "debawueldb"
},
{
"from": 90001,
"to": 96501,
"dsbid": 9
"dsb_slug": "debaylda"
},
{
"from": 96501,
"to": 97001,
"dsbid": 16
"dsb_slug": "detlfdi"
},
{
"from": 97001,
"to": 97911,
"dsbid": 9
"dsb_slug": "debaylda"
},
{
"from": 97911,
"to": 98501,
"dsbid": 8
"dsb_slug": "debawueldb"
},
{
"from": 98501,
"to": 99999,
"dsbid": 16
"dsb_slug": "detlfdi"
}
]

21
data/supervisory-authorities/debawueldb.json

@ -0,0 +1,21 @@
{
"slug": "debawueldb",
"relevant-countries": [
"de"
],
"name": "Der Landesbeauftragte für den Datenschutz Baden-Württemberg",
"address": "Postfach 10 29 32\n70025 Stuttgart\nDeutschland",
"phone": "+49 711 6155 410",
"fax": "+49 711 6155 4115",
"email": "poststelle@lfdi.bwl.de",
"pgp-fingerprint": "E4FA 428C B315 2248 83BB F6FB 0FC3 48A6 4A32 5962",
"web": "https://www.baden-wuerttemberg.datenschutz.de/",
"online-complaint-form": "https://www.baden-wuerttemberg.datenschutz.de/online-beschwerde/",
"sources": [
"https://www.baden-wuerttemberg.datenschutz.de/pgp-schlussel/",
"https://www.baden-wuerttemberg.datenschutz.de/kontakt/",
"https://www.datenschutz-wiki.de/Aufsichtsbeh%C3%B6rden_und_Landesdatenschutzbeauftragte"
],
"complaint-language": "de",
"suggested-transport-medium": "email"
}

23
data/supervisory-authorities/debaylda.json

@ -0,0 +1,23 @@
{
"slug": "debaylda",
"relevant-countries": [
"de"
],
"name": "Bayerisches Landesamt für Datenschutzaufsicht (BayLDA)",
"address": "Promenade 27\n91522 Ansbach\nDeutschland",
"phone": "+49 981 531 300",
"fax": "+49 981 5398 1300",
"email": "poststelle@lda.bayern.de",
"pgp-fingerprint": "AB6E 5D65 D09A 043C 9953 97ED 982B BF27 609C 2220",
"pgp-url": "https://www.lda.bayern.de/media/pgp_schluessel_dsa.asc",
"web": "https://www.lda.bayern.de/de/index.html",
"online-complaint-form": "https://www.lda.bayern.de/de/beschwerde.html",
"sources": [
"https://www.lda.bayern.de/de/kontakt.html"
],
"complaint-language": "de",
"suggested-transport-medium": "email",
"comments": [
"Für Beschwerden gegen Unternehmen ist es empfohlen sich an das Bayerische Landesamt für Datenschutzaufsicht zu wenden. Bei Beschwerden oder Anfragen zu öffentlichen Stellen ist jedoch der Landesdatenschutzbeauftragte der korrekte Ansprechpartner."
]
}

20
data/supervisory-authorities/deberlbdi.json

@ -0,0 +1,20 @@
{
"slug": "deberlbdi",
"relevant-countries": [
"de"
],
"name": "Berliner Beauftragte für Datenschutz und Informationsfreiheit",
"address": "Friedrichstraße 219 \n10969 Berlin\nDeutschland",
"phone": "+49 30 138890",
"fax": "+49 30 2155050",
"email": "mailbox@datenschutz-berlin.de",
"pgp-fingerprint": "D3C9 AEEA B403 7F96 7EF6 C77F B607 1D0F B27C 29A7",
"pgp-url": "https://www.datenschutz-berlin.de/email/mailbox_blnbdi.asc",
"web": "https://www.datenschutz-berlin.de",
"online-complaint-form": "https://kontakt.datenschutz-berlin.de/",
"sources": [
"https://www.datenschutz-berlin.de/kontakt.html"
],
"complaint-language": "de",
"suggested-transport-medium": "email"
}

25
data/supervisory-authorities/debralda.json

@ -0,0 +1,25 @@
{
"slug": "debralda",
"relevant-countries": [
"de"
],
"name": "Die Landesbeauftragte für den Datenschutz und für das Recht auf Akteneinsicht Brandenburg",
"address": "Stahnsdorfer Damm 77\n14532 Kleinmachnow\nDeutschland",
"phone": "+49 33203 356 0",
"fax": "+49 33203 356 49",
"email": "poststelle@lda.brandenburg.de",
"pgp-fingerprint": "E899 5780 7F65 F282 8CAC C504 37F3 83FE 0844 834D",
"pgp-url": "https://www.lda.brandenburg.de/media_fast/4055/LDABbgpublickey.asc",
"web": "https://www.lda.brandenburg.de",
"online-complaint-form": "https://www.lda.brandenburg.de/de/beschwerdeformular",
"sources": [
"https://www.lda.brandenburg.de/cms/detail.php/bb1.c.241171.de",
"https://www.lda.brandenburg.de/cms/detail.php/bb1.c.277104.de",
"https://www.lda.brandenburg.de/cms/detail.php/bb1.c.417504.de"
],
"complaint-language": "de",
"suggested-transport-medium": "email",
"comments": [
"Es steht auch ein Beschwerdeformular zur Verfügung: https://www.lda.brandenburg.de/de/beschwerdeformular"
]
}

24
data/supervisory-authorities/debrelfdi.json

@ -0,0 +1,24 @@
{
"slug": "debrelfdi",
"relevant-countries": [
"de"
],
"name": "Die Landesbeauftragte für Datenschutz und Informationsfreiheit Bremen",
"address": "Arndtstraße 1\n27570 Bremerhaven\nDeutschland",
"phone": "+49 421 3612 010",
"fax": "+49 421 4961 8495",
"email": "office@datenschutz.bremen.de",
"pgp-fingerprint": "7083 9D74 276A D4FA 970D 272B 6B52 8D07 5B7D 02B2",
"pgp-url": "https://www.datenschutz.bremen.de/sixcms/media.php/13/lfdi_bremen.asc",
"web": "https://www.datenschutz.bremen.de/",
"online-complaint-form": "https://www.datenschutz.bremen.de/detail.php?gsid=bremen236.c.15253.de",
"sources": [
"https://www.datenschutz.bremen.de/wir_ueber_uns/vertrauliche_kommunikation-7303",
"https://www.datenschutz.bremen.de/impressum-1478"
],
"complaint-language": "de",
"suggested-transport-medium": "email",
"comments": [
"Es steht auch ein Beschwerdeformular zur Verfügung: https://www.datenschutz.bremen.de/wir_ueber_uns/beschwerdeformular-15253"
]
}

24
data/supervisory-authorities/dehessbdi.json

@ -0,0 +1,24 @@
{
"slug": "dehessbdi",
"relevant-countries": [
"de"
],
"name": "Der Hessische Beauftragte für Datenschutz und Informationsfreiheit",
"address": "Postfach 3163\n65021 Wiesbaden\nDeutschland",
"phone": "+49 611 1408 0",
"fax": "+49 611 1408 611",
"email": "poststelle@datenschutz.hessen.de",
"pgp-fingerprint": "432B E521 4762 FDBF C351 57B5 B56E 057A 0B3C 0EFD",
"pgp-url": "https://datenschutz.hessen.de/sites/datenschutz.hessen.de/files/PGP-Schluessel.txt",
"web": "https://datenschutz.hessen.de/",
"online-complaint-form": "https://datenschutz.hessen.de/service/beschwerde",
"sources": [
"https://datenschutz.hessen.de/%C3%BCber-uns/kontakt",
"https://datenschutz.hessen.de/service/verschl%C3%BCsselte-kommunikation-mit-dem-HBDI"
],
"complaint-language": "de",
"suggested-transport-medium": "email",
"comments": [
"Es steht auch ein Beschwerdeformular zur Verfügung: https://datenschutz.hessen.de/service/beschwerde"
]
}

23
data/supervisory-authorities/dehmbbfdi.json

@ -0,0 +1,23 @@
{
"slug": "dehmbbfdi",
"relevant-countries": [
"de"
],
"name": "Der Hamburgische Beauftragte für Datenschutz und Informationsfreiheit",
"address": "Kurt-Schumacher-Allee 4\n20097 Hamburg\nDeutschland",
"phone": "+49 40 428 54 4040",
"fax": "+49 40 4279 11 811",
"email": "mailbox@datenschutz.hamburg.de",
"pgp-fingerprint": "0932 579B 33C1 8C21 6C9D E77D 08DD BAE4 3377 5707",
"pgp-url": "https://datenschutz-hamburg.de/assets/misc/pgp-schluessel-hmbbfdi.asc",
"web": "https://datenschutz-hamburg.de/",
"online-complaint-form": "https://datenschutz-hamburg.de/beschwerde/",
"sources": [
"https://datenschutz-hamburg.de/pages/kontakt/"
],
"complaint-language": "de",
"suggested-transport-medium": "email",
"comments": [
"Es steht auch ein Beschwerdeformular zur Verfügung: https://datenschutz-hamburg.de/beschwerde/"
]
}

24
data/supervisory-authorities/demvldi.json

@ -0,0 +1,24 @@
{
"slug": "demvldi",
"relevant-countries": [
"de"
],
"name": "Der Landesbeauftragte für Datenschutz und Informationsfreiheit Mecklenburg-Vorpommern",
"address": "Schloss Schwerin\nLennéstraße 1\n19053 Schwerin\nDeutschland",
"phone": "+49 385 59494 0",
"fax": "+49 385 59494 58",
"email": "info@datenschutz-mv.de",
"pgp-fingerprint": "66E5 EB3B C2F0 E8B7 4D70 0A66 DA65 6823 63BE 680F",
"pgp-url": "https://www.datenschutz-mv.de/static/DS/Dateien/pgp_lds_mv.asc",
"web": "https://www.datenschutz-mv.de/",
"online-complaint-form": "https://www.datenschutz-mv.de/kontakt/online-beschwerdeformular-mitteilung-ueber-einen-datenschutzverstoss/",
"sources": [
"https://www.datenschutz-mv.de/kontakt",
"https://www.datenschutz-mv.de/datenschutzerklaerung/#email"
],
"complaint-language": "de",
"suggested-transport-medium": "email",
"comments": [
"Es steht auch ein Beschwerdeformular zur Verfügung: https://www.datenschutz-mv.de/kontakt/online-beschwerdeformular-mitteilung-ueber-einen-datenschutzverstoss/"
]
}

25
data/supervisory-authorities/dendslfd.json

@ -0,0 +1,25 @@
{
"slug": "dendslfd",
"relevant-countries": [
"de"
],
"name": "Die Landesbeauftragte für den Datenschutz Niedersachsen",
"address": "Postfach 221\n30002 Hannover\nDeutschland",
"phone": "+49 511 120 4500",
"fax": "+49 511 120 4599",
"email": "poststelle@lfd.niedersachsen.de",
"pgp-fingerprint": "87E3 0238 A8ED A446 486C 8664 BE98 7E58 584C 24B6",
"pgp-url": "https://www.lfd.niedersachsen.de/download/32009/Unser_PGP-Schluessel_neu_ab_01.09.2015_.txt",
"web": "https://www.lfd.niedersachsen.de/startseite/",
"online-complaint-form": "https://www.navo.niedersachsen.de/navo2/portal/csend/8915/fileget/dsbeschwerdeformular.html",
"sources": [
"https://www.lfd.niedersachsen.de/wir_ueber_uns/so_erreichen_sie_uns/so-erreichen-sie-uns-56182.html",
"https://www.lfd.niedersachsen.de/wir_ueber_uns/hinweis_zur_eroeffnung_zugangs_elektronischer_kommunikation/hinweis-zur-eroeffnung-des-zugangs-elektronischer-kommunikation-56046.html",
"https://www.lfd.niedersachsen.de/wir_ueber_uns/kontakt/kontakt-56137.html"
],
"complaint-language": "de",
"suggested-transport-medium": "email",
"comments": [
"Es steht auch ein Beschwerdeformular zur Verfügung: https://www.navo.niedersachsen.de/navo2/portal/csend/8915/fileget/dsbeschwerdeformular.html"
]
}

20
data/supervisory-authorities/denrwldi.json

@ -0,0 +1,20 @@
{
"slug": "denrwldi",
"relevant-countries": [
"de"
],
"name": "Landesbeauftragte für Datenschutz und Informationsfreiheit Nordrhein-Westfalen",
"address": "Postfach 20 04 44\n40102 Düsseldorf\nDeutschland",
"phone": "+49 211 38424 0",
"fax": "+49 211 38424 10",
"email": "poststelle@ldi.nrw.de",
"pgp-fingerprint": "C638 12C7 8854 FBF9 BEB6 3A40 04E3 1A13 6AD6 2811",
"pgp-url": "https://www.ldi.nrw.de/metanavi_Kontakt/key_ldi.asc",
"web": "https://www.ldi.nrw.de/",
"online-complaint-form": "https://www.ldi.nrw.de/mainmenu_Aktuelles/Formulare-und-Meldungen/Inhalt2/Beschwerde/Beschwerdeformular1.pdf",
"sources": [
"https://www.ldi.nrw.de/metanavi_Kontakt/index.php"
],
"complaint-language": "de",
"suggested-transport-medium": "email"
}

23
data/supervisory-authorities/derlpbdi.json

@ -0,0 +1,23 @@
{
"slug": "derlpbdi",
"relevant-countries": [
"de"
],
"name": "Der Landesbeauftragte für den Datenschutz und die Informationsfreiheit Rheinland-Pfalz",
"address": "Postfach 30 40\n55020 Mainz\nDeutschland",
"phone": "+49 6131 208 2449",
"fax": "+49 6131 208 2497",
"email": "poststelle@datenschutz.rlp.de",
"pgp-fingerprint": "E41B 97F0 5A8D EF83 ECD7 68A5 A9B0 C667 1D80 9C39",
"pgp-url": "https://www.datenschutz.rlp.de/fileadmin/lfdi/Dokumente/pubkey_lfdi-rlp.asc",
"web": "https://www.datenschutz.rlp.de",
"online-complaint-form": "https://www.datenschutz.rlp.de/de/themenfelder-themen/online-services/beschwerdeformular/",
"sources": [
"https://www.datenschutz.rlp.de/de/general-storage/footer/ueber-den-lfdi/kontakt/"
],
"complaint-language": "de",
"suggested-transport-medium": "email",
"comments": [
"Es steht auch ein Beschwerdeformular zur Verfügung: https://www.datenschutz.rlp.de/de/themenfelder-themen/online-services/beschwerdeformular/"
]
}

20
data/supervisory-authorities/desaarudz.json

@ -0,0 +1,20 @@
{
"slug": "desaarudz",
"relevant-countries": [
"de"
],
"name": "Unabhängiges Datenschutzzentrum Saarland",
"address": "Fritz-Dobisch-Straße 12\n66111 Saarbrücken\nDeutschland",
"phone": "+49 681 94781 0",
"fax": "+49 681 94781 29",
"email": "poststelle@datenschutz.saarland.de",
"pgp-fingerprint": "FEF8 1D51 A165 A81F 00ED EF0C F3EF 03DE 520C C9BE",
"pgp-url": "https://datenschutz.saarland.de/fileadmin/pgp/datenschutzzentrum-key_.asc",
"web": "https://datenschutz.saarland.de/",
"online-complaint-form": "https://www.datenschutz.saarland.de/online-services/online-beschwerde#c128",
"sources": [
"https://datenschutz.saarland.de/ueber-uns/kontakt/"
],
"complaint-language": "de",
"suggested-transport-medium": "email"
}

23
data/supervisory-authorities/desaechsdsb.json

@ -0,0 +1,23 @@
{
"slug": "desaechsdsb",
"relevant-countries": [
"de"
],
"name": "Der Sächsische Datenschutzbeauftragte",
"address": "Postfach 12 00 16\n01001 Dresden\nDeutschland",
"phone": "+49 351 493 5401",
"fax": "+49 351 493 5490",
"email": "saechsdsb@slt.sachsen.de",
"pgp-fingerprint": "804A AD38 6935 4591 BA87 E9AA A761 773D A1AF FDDC",
"pgp-url": "https://www.saechsdsb.de/images/stories/sdb_inhalt/behoerde/saechsdsb.asc",
"web": "https://www.saechsdsb.de/",
"online-complaint-form": "https://www.saechsdsb.de/petition",
"sources": [
"https://www.saechsdsb.de/n-kontakt"
],
"complaint-language": "de",
"suggested-transport-medium": "email",
"comments": [
"Es steht auch ein Beschwerdeformular zur Verfügung: https://www.saechsdsb.de/component/rsform/form/3-kein-titel?Itemid=330"
]
}

25
data/supervisory-authorities/desalbd.json

@ -0,0 +1,25 @@
{
"slug": "desalbd",
"relevant-countries": [
"de"
],
"name": "Landesbeauftragter für den Datenschutz Sachsen-Anhalt",
"address": "Postfach 1947\n39009 Magdeburg\nDeutschland",
"phone": "+49 391 81803 0",
"fax": "+49 391 81803 33",
"email": "poststelle@lfd.sachsen-anhalt.de",
"pgp-fingerprint": "5CBB 4E15 9774 8921 3B27 7C96 DE25 9BE2 09AC A0DE",
"pgp-url": "https://datenschutz.sachsen-anhalt.de/fileadmin/Bibliothek/Landesaemter/LfD/PDF/binary/Landesbeauftragter/Anschrift/E-Mail/2015-10-30_-_PGP_0x09ACA0DE_poststelle_pub.asc",
"web": "https://datenschutz.sachsen-anhalt.de",
"online-complaint-form": "https://datenschutz.sachsen-anhalt.de/service/online-formulare/beschwerde-anfrage/?no_cache=1",
"sources": [
"https://datenschutz.sachsen-anhalt.de/landesbeauftragter/kontakt/",
"https://datenschutz.sachsen-anhalt.de/landesbeauftragter/kontakt/wichtige-hinweise-zur-e-mail-verwendung/"
],
"complaint-language": "de",
"suggested-transport-medium": "email",
"comments": [
"Alternative Telefonnummer: +49 800 9153 190",
"Es steht auch ein Beschwerdeformular zur Verfügung: https://datenschutz.sachsen-anhalt.de/nc/service/online-formulare-des-landesbeauftragten/beschwerde-anfrage/"
]
}

25
data/supervisory-authorities/deshuld.json

@ -0,0 +1,25 @@
{
"slug": "deshuld",
"relevant-countries": [
"de"
],
"name": "Unabhängiges Landeszentrum für Datenschutz Schleswig-Holstein",
"address": "Postfach 71 16\n24171 Kiel\nDeutschland",
"phone": "+49 431 988 1200",
"fax": "+49 431 988 1223",
"email": "mail@datenschutzzentrum.de",
"pgp-fingerprint": "1275 0F74 8BD0 B27D 4026 3E4B 66D5 C055 991C 5060",
"pgp-url": "https://www.datenschutzzentrum.de/uploads/uld/uld.asc",
"web": "https://www.datenschutzzentrum.de/",
"online-complaint-form": "https://www.datenschutzzentrum.de/formular/beschwerde.php",
"sources": [
"https://www.datenschutzzentrum.de/impressum/",
"https://www.datenschutzzentrum.de/meldungen/",
"https://www.datenschutzzentrum.de/artikel/1008-.html"
],