Commit Graph
83 Commits
Author SHA1 Message Date
igor04091968 e0561bf865 fix(windows): disable outlook popup and enforce smtp-only email monitoring 2026-05-11 20:46:39 +03:00
igor04091968 24dd5ae2b4 fix(worktime): add fallback heartbeat when query user returns no sessions 2026-05-10 10:59:21 +03:00
igor04091968 4b5c75bdbb feat(dlp): deploy hayabusa IOC refresh on aw-server with post-deploy checks 2026-05-10 03:13:28 +03:00
igor04091968 6ab29a9590 fix(worktime): harden query-user parsing and skip unknown fallback 2026-05-09 12:24:52 +03:00
igor04091968 7a320d7862 fix(windows): stabilize standalone agent + DLP/worktime collectors 2026-05-09 08:29:18 +03:00
igor04091968 230a9c6936 fix(windows): harden worktime session collector encoding and query parsing 2026-05-08 10:54:18 +03:00
igor04091968 e80272a55f docs(installer): document standalone service mode and minimal host/port setup 2026-05-08 00:44:48 +03:00
igor04091968 1c3d7896cd feat(installer): add standalone Windows service deployment for DLP agent 2026-05-08 00:41:00 +03:00
igor04091968 211a6a6eac fix(windows-deploy): enforce awHostname override and safe single-instance collector restart 2026-05-08 00:41:00 +03:00
igor04091968 6f5e5eb751 Revert "merge: apply windows standalone service installer and awHostname hardening"
This reverts commit e643576aa9, reversing
changes made to 669501f20a.
2026-05-08 00:41:00 +03:00
igor04091968 f5f4f84bef feat(installer): add standalone Windows service deployment for DLP agent 2026-05-08 00:39:28 +03:00
igor04091968 693e6832a6 fix(windows-deploy): enforce awHostname override and safe single-instance collector restart 2026-05-08 00:34:52 +03:00
igor04091968 538ff74611 feat(dlp): add health status and graceful shutdown for browser collector 2026-05-07 23:54:52 +03:00
igor04091968 b992ad2234 feat(dlp): graceful shutdown and COM cleanup for email collector 2026-05-07 23:52:03 +03:00
igor04091968 ac59d44719 feat(dlp): add WAL buffering and health snapshots for collectors 2026-05-07 23:47:03 +03:00
igor04091968 f3c5e9ea53 feat(dlp-hardening): secure inventory and extend aggregator sources 2026-05-07 23:38:20 +03:00
igor04091968andCopilot f0db2a227b revert(pssa): restore validate-deployment.ps1 from commit 63904d2 (stable)
Restored clean version to fix corruption introduced earlier.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-07 19:22:05 +03:00
igor04091968andCopilot e37c3886ba revert(pssa): restore files corrupted by automatic fixes (ActivityWatch.Windows.Common.psm1, email-outbound-collector.ps1, file-operations-collector.ps1)
Restored previous versions for files that were corrupted by the automated PSScriptAnalyzer fixes. Please review and reapply safe fixes manually.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-07 18:10:12 +03:00
igor04091968andCopilot 429501d4fe chore(pssa): apply safe PSScriptAnalyzer fixes (BOM, empty catch -> Write-Error, Write-Host -> Write-Output)
Applied automatic, low-risk fixes for PSScriptAnalyzer warnings. Please review changes for behavior-sensitive code.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-07 12:50:35 +03:00
igor04091968 669501f20a fix(worktime): treat russian session state 'Активно' as active 2026-05-07 09:07:19 +03:00
igor04091968 cd5fd95faf fix(aw): stabilize ui bridge and restore dlp endpoint collector 2026-05-07 08:57:36 +03:00
igor04091968 8b92b1136f chore: merge main into PR #15 2026-05-07 07:34:36 +03:00
igor04091968 8571832615 chore: merge main into PR #19 2026-05-07 07:33:53 +03:00
IgorRachkovandGitHub 66a8c47319 Merge pull request #7 from igor04091968/codex/find-and-fix-error-in-powershell-dlp-script
Refine detection of masked Cyrillic print titles and normalize printer names
2026-05-07 07:31:50 +03:00
IgorRachkovandGitHub a00bbdee06 Merge pull request #16 from igor04091968/codex/analyze-powershell-scripts-for-functionality
Fix DLP PowerShell collectors: config default, HTTP handling, event cleanup, headless fallback
2026-05-07 07:31:38 +03:00
IgorRachkovandGitHub 9ef09cb892 Merge pull request #18 from igor04091968/codex/review-dlp-related-code
Add print-job dedupe, improve clipboard guards and add polling error logs
2026-05-07 07:31:33 +03:00
igor04091968 8849354dda fix(worktime): codify ui-bridge in ansible and install flow 2026-05-07 07:20:14 +03:00
igor04091968 1df0e18a95 fix(collectors): stabilize browser+DLP collectors and add rdp worktime report script 2026-05-06 23:32:03 +03:00
igor04091968 a6a05b82a9 fix(webui): persist worktime report links to :5610 in ansible/installkit 2026-05-06 23:24:52 +03:00
igor04091968 03fefcc257 fix(deploy): harden windows rollout, validation and installkit payload 2026-05-06 20:14:51 +03:00
igor04091968 9eb02185dd fix(windows): stabilize AW deploy/validate and watcher launch script 2026-05-06 20:05:43 +03:00
IgorRachkov b2a1a6289c Fix Windows RDP collectors startup 2026-05-06 17:23:47 +03:00
IgorRachkov 945efd203f Harden DLP endpoint collector error handling and print dedupe 2026-05-05 07:55:03 +03:00
igor04091968 82ee9ab4fa tools: add AW health checks and test DLP policy 2026-05-05 06:38:04 +03:00
igor04091968andDevin <158243242+devin-ai-integration[bot]@users.noreply.github.com> 10c22a6c88 fix(windows): add STA parameter for DLP collector and use TEMP for lock files
- Add -STA parameter when launching endpoint-signals collector for clipboard access
- Move launch-watchers lock files from ProgramData to TEMP to avoid permission issues
- This fixes DLP endpoint collector startup in RDP sessions

Generated with [Devin](https://cli.devin.ai/docs)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-05-05 00:55:04 +03:00
igor04091968andDevin <158243242+devin-ai-integration[bot]@users.noreply.github.com> 9e5cb144d4 fix(windows): standardize config paths to AWatch-rus and add bucket hostname filter
- Replace default config paths from C:\ProgramData\ActivityWatch to C:\ProgramData\AWatch-rus
  in dlp-endpoint-signals-collector.ps1 and email-outbound-collector.ps1
- Add isLikelyClientHost() function to reject IP/localhost as valid hostname
  for bucket selection in aw-ru-patch.js
- Add docs/dlp-reliability-roadmap.md and docs/powershell-analysis.md
- Update README.md with links to new documentation

Generated with [Devin](https://cli.devin.ai/docs)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-05-04 23:24:49 +03:00
IgorRachkov d88ef78184 Fix DLP collector defaults, HTTP error handling, and cleanup 2026-05-04 21:47:03 +03:00
Devin AIandFashion Lisa a35a8a51bd fix(print): detect generic doc names (Печать документа) + integrate email collector into deploy
Print document naming:
- Add Test-IsGenericDocumentName() to detect placeholder names like
  'Печать документа', 'Print Document', 'Remote Downlevel Document', etc.
- Add Test-NeedsBetterDocumentName() that combines mojibake, generic and
  numeric-only checks into a single gate for PrintService event log fallback
- Replace Test-LooksLikeMojibakeQuestionMarks with Test-NeedsBetterDocumentName
  in Win32_PrintJob polling and Get-PrintServiceDocumentFallback

Email collector deployment integration:
- Ansible: add email-outbound-collector.ps1 to deploy_aw_windows.yml file list
- Ansible: add aw_windows_email_collector_enabled/mode vars
- InnoSetup: add email-outbound-collector.ps1 to [Files] section
- Common module: add EmailCollectorScript to Copy-ActivityWatchCollectorAssets,
  New-ActivityWatchDeploymentConfig, launch-watchers script
- Deploy scripts: pass EmailCollectorScript through pipeline
- Deployment configs: add emailCollectorScript path
- Sync all changes to install-kit copy

Co-Authored-By: Fashion Lisa <igor04091968@gmail.com>
2026-05-04 18:07:14 +00:00
igor04091968 bfee99d679 fix(windows): prevent collector process storms and scope query patch 2026-05-04 21:05:44 +03:00
igor04091968 5a2684fb3b fix: proper single UTF-8 BOM 2026-05-04 07:24:14 +03:00
igor04091968 6578f6341f fix: add UTF-8 BOM for PS 5.1 2026-05-04 00:22:15 +03:00
igor04091968 cc33ffa3dc fix: add UTF-8 BOM for PowerShell 5.1 compatibility 2026-05-04 00:14:32 +03:00
igor04091968 ff548a5840 Merge PR #14: feat(dlp) enforcement + email outbound collector 2026-05-03 23:41:00 +03:00
Devin AIandFashion Lisa f916764d53 feat(dlp): add email outbound collector — Outlook COM + SMTP monitor
Two collection modes:
- outlook: polls Sent Items via COM, extracts metadata (subject hash,
  recipients hash, attachment names, body length)
- smtp: monitors SMTP connections (25/587/465/2525) via Get-NetTCPConnection

DLP policy rules: endpoint.email[] with regex matching on subject,
recipients, sender, attachments, externalOnly flag.

Enforcement: action=block moves mail to Drafts (Outlook mode).
Privacy: subject/recipients stored as SHA256, body never read.
Co-Authored-By: Fashion Lisa <igor04091968@gmail.com>
2026-05-03 20:30:18 +00:00
Devin AIandFashion Lisa 2bab84f9f9 feat(dlp): add enforcement — USB write-block, print cancel, clipboard clear
Phase 2.5: when DLP policy rule has action="block", the collector
now actively prevents the action instead of just logging:

- USB: Set-Disk -IsReadOnly via Get-Partition/Get-Disk pipeline
- Print: Remove-CimInstance Win32_PrintJob for matching jobs
- Clipboard: Set-Clipboard -Value $null to clear sensitive content

Each enforcement adds enforced=true/false to incident telemetry.
Windows balloon notification shown to user on every block action.
Backward-compatible: existing action="alert" rules unchanged.

Co-Authored-By: Fashion Lisa <igor04091968@gmail.com>
2026-05-03 20:21:39 +00:00
Devin AI b7a7ac42e4 Improve print DLP telemetry reliability 2026-05-02 22:45:48 +00:00
Devin AI 4359f6d5eb Fix Windows file telemetry playbook wiring 2026-05-02 21:44:18 +00:00
igor04091968 c97ffe2cbd Fix: ensure file collector robustness (HttpClient, TLS 1.2, English logs) 2026-05-02 23:42:14 +03:00
Devin AI f45ef0038d Use string JSON body for file collector posts 2026-05-02 20:34:07 +00:00
Devin AI 8088b19dc7 Create file operation bucket before path checks 2026-05-02 20:28:03 +00:00