Skip to content

Commit a9ce91b

Browse files
committed
Initial commit
0 parents  commit a9ce91b

119 files changed

Lines changed: 22069 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/deploy.yml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: Deploy IPMR Toolkit to GitHub Pages
2+
3+
on:
4+
push:
5+
branches: [main]
6+
workflow_dispatch:
7+
8+
# Allow workflow to write Pages content and read repo
9+
permissions:
10+
contents: read
11+
pages: write
12+
id-token: write
13+
14+
# Only one deployment at a time; cancel in-progress runs of older commits
15+
concurrency:
16+
group: pages
17+
cancel-in-progress: false
18+
19+
jobs:
20+
build:
21+
runs-on: ubuntu-latest
22+
steps:
23+
- name: Checkout
24+
uses: actions/checkout@v4
25+
with:
26+
fetch-depth: 0 # required for git-revision-date plugins if added later
27+
28+
- name: Setup Python
29+
uses: actions/setup-python@v5
30+
with:
31+
python-version: '3.12'
32+
cache: pip
33+
34+
- name: Install dependencies
35+
run: |
36+
python -m pip install --upgrade pip
37+
pip install \
38+
mkdocs==1.6.1 \
39+
mkdocs-material==9.7.6 \
40+
mkdocs-mermaid2-plugin==1.2.3 \
41+
pymdown-extensions==10.21.2
42+
43+
- name: Build site
44+
run: mkdocs build --strict
45+
46+
- name: Configure Pages
47+
uses: actions/configure-pages@v5
48+
49+
- name: Upload artifact
50+
uses: actions/upload-pages-artifact@v3
51+
with:
52+
path: ./site
53+
54+
deploy:
55+
needs: build
56+
runs-on: ubuntu-latest
57+
environment:
58+
name: github-pages
59+
url: ${{ steps.deployment.outputs.page_url }}
60+
steps:
61+
- name: Deploy to GitHub Pages
62+
id: deployment
63+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# IPMR Toolkit — .gitignore
2+
# OS junk, editor noise, Python build artefacts, and mkdocs build output.
3+
4+
# macOS system files
5+
.DS_Store
6+
._*
7+
.AppleDouble
8+
.LSOverride
9+
.Spotlight-V100
10+
.Trashes
11+
.fseventsd
12+
.DocumentRevisions-V100
13+
.TemporaryItems
14+
.VolumeIcon.icns
15+
.com.apple.timemachine.donotpresent
16+
17+
# Windows / cross-platform
18+
Thumbs.db
19+
ehthumbs.db
20+
Desktop.ini
21+
22+
# Editor / IDE
23+
.vscode/
24+
.idea/
25+
*.swp
26+
*.swo
27+
*~
28+
*.sublime-workspace
29+
*.sublime-project
30+
31+
# Python
32+
__pycache__/
33+
*.pyc
34+
*.pyo
35+
*.pyd
36+
.pytest_cache/
37+
.mypy_cache/
38+
.ruff_cache/
39+
.venv/
40+
venv/
41+
env/
42+
*.egg-info/
43+
44+
# Node (in case any helper script is added later)
45+
node_modules/
46+
47+
# MkDocs build output
48+
site/
49+
50+
# PDF / LaTeX build artefacts
51+
*.aux
52+
*.log
53+
*.out
54+
*.toc
55+
*.synctex.gz
56+
.pdf-build/
57+
58+
# Credentials and secrets
59+
.env
60+
.env.*
61+
*.key
62+
*.pem
63+
*.token
64+
credentials.json
65+
.secrets/
66+
67+
# Generic temp / backup files
68+
*.tmp
69+
*.bak
70+
*.orig
71+
*.rej

CONTRIBUTING.md

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
# Contributing to the IPMR Toolkit
2+
3+
Thank you for considering a contribution. This toolkit is a working
4+
reference for fact-checkers, OSINT investigators, and civil society
5+
staff in Indonesia, Laos, Malaysia, the Philippines, Sri Lanka, and
6+
Thailand. Corrections, additions, and reports from practitioners on the
7+
ground are how it stays accurate.
8+
9+
This guide is for outside contributors. If you are reading the toolkit
10+
to use it, start at the [home page](docs/index.md) instead.
11+
12+
## Reporting an issue
13+
14+
Open a [GitHub issue](https://github.com/denis989/ipmr-toolkit/issues/new)
15+
when you find:
16+
17+
- A factual error in a tool card, decision tree, or country page.
18+
- A broken external link, retired tool, or vendor URL that has moved.
19+
- A safety override (S1–S10) that does not match the toolkit's
20+
documented framing for the case you encountered.
21+
- A platform behaviour the toolkit describes that has materially
22+
changed (API closure, takedown policy shift, new tipline endpoint).
23+
24+
Include the page URL, the specific quote or claim you are flagging,
25+
and — where possible — a source or screenshot we can verify.
26+
27+
## Suggesting a new tool
28+
29+
The toolkit's selection criteria are documented in the
30+
[methodology section](docs/methodology/selection-criteria.md).
31+
Read those before opening a tool suggestion. Briefly: a tool needs to be
32+
operationally accessible to the region's fact-checkers, must have a
33+
documented limitation profile, and must fit one of the toolkit's six
34+
pillar–tier cells.
35+
36+
Open an issue with the label `new-tool` and include:
37+
38+
- Tool name and vendor.
39+
- The pillar–tier cell you think it belongs to (or "not sure").
40+
- One paragraph on why a regional newsroom would actually reach for it
41+
(operational access, language coverage, cost, infrastructure).
42+
- Any independent accuracy or audit reference you are aware of —
43+
vendor self-reporting alone is not sufficient.
44+
45+
The maintainers will review and either open a card draft, request more
46+
information, or document why the tool was considered but not included.
47+
48+
## Proposing a correction
49+
50+
For changes you are confident about, open a pull request:
51+
52+
1. Fork the repository and create a branch (`fix/tool-card-typo` or
53+
`update/cofact-thailand-features`).
54+
2. Edit the relevant Markdown file under `docs/`.
55+
3. Keep the change tightly scoped. One correction or one new tool per
56+
pull request makes review faster.
57+
4. Match the surrounding voice. Tool cards stay practitioner-focused
58+
and avoid promotional language; decision trees stay operational and
59+
avoid restating workflow logic in prose.
60+
5. If your change touches a citation or a date-stamped figure (pricing,
61+
accuracy benchmark, accessed-on dates), update the citation block at
62+
the bottom of the page.
63+
6. Open the pull request against `main`. The maintainers will review,
64+
suggest edits, or merge.
65+
66+
For larger structural changes — a new section, a new decision tree, a
67+
new country page — open an issue first to discuss scope before
68+
investing in the draft.
69+
70+
## Style guidance
71+
72+
The toolkit reads as written by a working editor, not a marketing
73+
team. A few conventions:
74+
75+
- Tool cards follow the structure of `docs/tool-cards/_template.md`.
76+
- Limitations come before How-to-access on every tool card — the reader
77+
must be able to rule a tool out before investing in setup.
78+
- Detector tools never carry a binary "is AI" verdict on their own.
79+
Independent accuracy framing is mandatory; vendor self-reporting is
80+
always wrapped with the qualifier the methodology section documents.
81+
- Dates use Month YYYY format for pricing and accessed-on stamps.
82+
- External links live in a Sources block at the bottom of the page,
83+
not embedded mid-prose, except where the link is itself the
84+
evidence.
85+
86+
## Code of conduct and licensing
87+
88+
The toolkit content is published under
89+
[Creative Commons Attribution 4.0 International](LICENSE)
90+
(CC BY 4.0). Contributions you submit are accepted under the same
91+
licence — when you open a pull request, you agree that your edits may
92+
be redistributed under CC BY 4.0 with attribution.
93+
94+
When reusing toolkit material outside the repository, attribute as:
95+
96+
> "Triaging and Countering AI-Powered Disinformation and Influence
97+
> Operations" — an IPMR practitioner toolkit, Internews Europe, 2026.
98+
> CC BY 4.0.
99+
100+
## Substantive editorial questions
101+
102+
For questions about the toolkit's editorial scope, regional coverage,
103+
or how to interpret a specific tool card or decision tree, write to:
104+
105+
- **Vino Lucero** — Senior Project Officer-Asia —
106+
`jlucero@internews.org`
107+
108+
## Maintainer
109+
110+
The toolkit was produced by **Denis Yagodin** under contract with
111+
Internews Europe (IPMR project — Enhancing Indo-Pacific Media
112+
Resilience) with financial support from the European Union.
113+
114+
Repository:
115+
[github.com/denis989/ipmr-toolkit](https://github.com/denis989/ipmr-toolkit)

0 commit comments

Comments
 (0)