From 49852f3bbb5fda44799bcfb91241e7deccb59ffa Mon Sep 17 00:00:00 2001 From: Gerald Date: Fri, 12 Jul 2024 12:44:44 +0200 Subject: [PATCH] added content and architecture --- docs/architecture/.$containers.drawio.bkp | 36 +++++ docs/architecture/Thumbs.db | Bin 0 -> 9728 bytes docs/architecture/basic-containers.png | Bin 0 -> 9922 bytes docs/architecture/containers-Performance.png | Bin 0 -> 18962 bytes docs/architecture/containers.drawio | 90 +++++++++++++ docs/architecture/img.png | Bin 0 -> 59337 bytes docs/architecture/img_1.png | Bin 0 -> 31761 bytes docs/architecture/index.md | 131 +++++++++++++++++++ docs/details/cleanup.md | 60 +++++++++ mkdocs.yml | 2 + themes/mkdocs/base.html | 2 +- 11 files changed, 320 insertions(+), 1 deletion(-) create mode 100644 docs/architecture/.$containers.drawio.bkp create mode 100644 docs/architecture/Thumbs.db create mode 100644 docs/architecture/basic-containers.png create mode 100644 docs/architecture/containers-Performance.png create mode 100644 docs/architecture/containers.drawio create mode 100644 docs/architecture/img.png create mode 100644 docs/architecture/img_1.png create mode 100644 docs/architecture/index.md create mode 100644 docs/details/cleanup.md diff --git a/docs/architecture/.$containers.drawio.bkp b/docs/architecture/.$containers.drawio.bkp new file mode 100644 index 0000000..d597f66 --- /dev/null +++ b/docs/architecture/.$containers.drawio.bkp @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/architecture/Thumbs.db b/docs/architecture/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..777886e163b264b0b1997ac8c92526dac81debe5 GIT binary patch literal 9728 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 v=WV>8?ZOHxmCTUr?zQ;?BVq#^`^m<9eD*pc4! literal 0 HcmV?d00001 diff --git a/docs/architecture/containers-Performance.png b/docs/architecture/containers-Performance.png new file mode 100644 index 0000000000000000000000000000000000000000..02aff4589832283a3321348e5199770938f90282 GIT binary patch literal 18962 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 LI-*?8;_3eYy!-pJ literal 0 HcmV?d00001 diff --git a/docs/architecture/containers.drawio b/docs/architecture/containers.drawio new file mode 100644 index 0000000..557cdcd --- /dev/null +++ b/docs/architecture/containers.drawio @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/architecture/img.png b/docs/architecture/img.png new file mode 100644 index 0000000000000000000000000000000000000000..cf5c830242177bad017bd823ac85cf2d6bbfca2a GIT binary patch literal 59337 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 +Within the browser container (docker), the website is analyzed and media is download for +classification. The browser context (website with illegal content) is reset after the +scraping of the website. The headless browser environment has no direct contact with the +other SCARt components and/or server and/or SCART client user. + +The setup of this realtime version is done by the S3group. They have to knowledge to configure +and maintain this environment. Please ask your SCARt contact for more information. + + diff --git a/docs/details/cleanup.md b/docs/details/cleanup.md new file mode 100644 index 0000000..4c6bb1a --- /dev/null +++ b/docs/details/cleanup.md @@ -0,0 +1,60 @@ +# Cleanup + +--- + +## Automatic background process + +Every night the cleanup background job runs to do a checkup from the SCARt environment. +The following actions are done: + +1. Recycle of the SCARt application logfile +2. Reset for scraping-again from inputs-open-for-classify and not look at in the past 24 hours +3. Remove cached images that have finished being analyzed +4. Cleanup of the WhoIs cache; removal not active domain and/or IP records +5. Rewind the ICCAM import one day to be sure every ICCAM report is imported +6. Make anonymous if the retention time is met +7. Cleanup "deleted marked records" in the database + +## Anonymous + +SCARt can be configured (not standard) to anonymouse privacy related fields. These fields +include: + +- URL +- URL_host +- URL_base +- URL_referer +- URL_IP +- URL_HASH + +After the retention time (for example 1 year) the values in the database of these fields +are overwriten with "anonymouse-[record-id]". + +The status or for example the classification will be kept in the database, so general +reports without the privacy information can be reported (exported). + +The specific retention time has to be configured. Please contact your SCARt contact for +more information. + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mkdocs.yml b/mkdocs.yml index 40f83d1..79aeda0 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -29,6 +29,8 @@ nav: - Custom Webforms: details/custom_webforms.md - Email import whitelist: details/whitelist.md - ICCAM: details/iccam.md + - Cleanup: details/cleanup.md + - "": architecture/architecture.md diff --git a/themes/mkdocs/base.html b/themes/mkdocs/base.html index b48ee88..9f2455b 100644 --- a/themes/mkdocs/base.html +++ b/themes/mkdocs/base.html @@ -238,7 +238,7 @@ {%- if config.copyright %}

{{ config.copyright }}

{%- endif %} -

SCARt.io - version 0.9 PRE-RELEASE documentation

+

SCARt.io - version 0.9.2 PRE-RELEASE documentation

{%- endblock %}