Tallinn Mechanism
overview
As endorsed by the Foreign Ministries of Canada, Denmark, Estonia, France, Germany, The Netherlands, Poland, Sweden, United Kingdom and the United States on 20 December 2023, the Tallinn Mechanism officially formalized.
- date : 2023-12-20
- countries / links to announcements
- Canada / official announcement
- Denmark
- Estonia / official announcement
- France / official announcement
- Germany
- The Netherlands / official announcement
- Poland / official announcement
- Sweden
- United Kingdom / official announcement
- the United States / official announcement
The Tallinn Manual
Overview
The Tallinn Manual, formally titled “Tallinn Manual on the International Law Applicable to Cyber Warfare,” is a significant document in the realm of cybersecurity law. Here’s a detailed breakdown of its key aspects:
Origin and Purpose
- Authored by a group of international law experts between 2009 and 2012.
- Commissioned by the NATO Cooperative Cyber Defence Centre of Excellence (CCDCOE) located in Tallinn, Estonia. (Though it’s not an official NATO document.)
- Aims to clarify how existing international law applies to cyber conflicts and cyber warfare.
- Focuses on two key areas of international law:
- Jus ad bellum: Rules governing the use of force between states.
- International humanitarian law (jus in bello): Rules applicable during armed conflicts to protect civilians and combatants.
Content and Structure
- Not a binding legal document, but a highly influential academic study.
- Comprises two editions:
- Tallinn Manual (2013): Examines the most severe cyber operations, including those that could constitute a use of force or occur during armed conflicts.
- Tallinn Manual 2.0 (2017): Addresses the legal framework for less severe cyber incidents that fall below the thresholds mentioned above.
- Structured around 95 “black letter rules” that interpret how existing international law principles apply to specific cyber scenarios.
- These rules address various topics like:
- Sovereignty in cyberspace
- State responsibility for cyberattacks
- Targeting civilians and civilian infrastructure in cyber operations
- Proportionality and distinction in cyber warfare
Significance and Impact
- Considered a foundational text in the field of cyber law.
- Provides a framework for states to assess the legality of their cyber operations and those they face.
- Influences legal discussions and policy decisions regarding cyber issues at the international level.
- Serves as a reference point for ongoing efforts to develop new international law norms specifically for cyberspace.
Limitations
- Being non-binding, it cannot definitively resolve legal disputes.
- The evolving nature of cyber technology may necessitate future updates and interpretations.
- Controversial topics, such as cyber espionage or the use of force in cyberspace, may have varying interpretations among states.
Conclusion
Overall, the Tallinn Manual is a crucial resource for understanding how international law applies to cyber conflicts. It has significantly shaped the discourse on cybersecurity law and continues to influence efforts to establish a more robust legal framework for this complex domain.
test modules published on both deno modules and jsr
@dallmo/array-search
link to deno modules link to jsr
some notes
deno modules
- update version by adding new releases in github ;
- clean and eary dependency management only via
deps.ts
as best practice ; - no import / installation of individual package required ;
jsr
- update version by incrementing the version number inside
deno.json
; - provide better control over module publishing with namespacing with scope ;
- package scoring is interesting and helpful ;
ansible role, vars / default files
overview
given a certain role, there are 2 folders to store variables, namely
[role root]/default
[role root]/vars
by default there is an empty main.yml
there.
storing all vars inside either of them will get messy easily, so it gets natural to group vars by different files.
but, trying to import / include them inside main.yml
won’t work.
the trick to load them all
create these folders :
[role root]/default/main/
[role root]/default/vars/
and put relevant files / folder(s) of files inside accordingly.
git / github / gitlab rollback, revert
have to enable push -f
in gitlab first.
git reset --hard [hash]
git push -f origin master
add git repo local clones to other hosts
1. add url to repo ( according to .git/config ) and local destination file path
- target file :
set-facts-repo.yaml
- file path :
[ansible-repo-root]/etc/playbooks/roles/maintenance/tasks/git/tasks
2. add the above facts to the git pull loop
- target file :
git-pull.yaml
- file path :
[ansible-repo-root]/etc/playbooks/roles/maintenance/tasks/git
deno template repo
usage
via curl :
curl -sS https://jimz.cc/s/deno.sh | bash
via deno :
deno run -Ar https://jimz.cc/s/deno.ts
clone via ssh
git@github.com:dallmo/deno-app-template.git
link to github repo
running a remote deno script / module
deno run -Ar https://deno.land/x/lume/init.ts
ref :
deno run main.ts
deno run https://mydomain.com/main.ts
cat main.ts | deno run -