Featured Projectv1.1.0Feature Complete

PlainPunch

Add local-date daily/weekly summaries, configurable CSV exports, overlap-safe corrections and revocable administrator sessions.

v1.1.0Current release
MITSource license
4Supported platform groups
Business OperationsCatalog category

The problem it solves

PlainPunch PlainPunch is a small self-hosted time clock without surveillance. Employees make explicit clock-in, clock-out, and break punches; they can review their own history and request corrections. Administrators review those requests, export CSV records, and retain an immutable audit trail of every material action.

Who PlainPunch is for

  • People who need a small, purpose-built utility instead of a broad platform.
  • Users working with time clock, self-hosted, audit trail who want the documented v1.1.0 behavior.
  • People who prefer an open-source release with visible limitations, source, and license terms.

Intended result

Add local-date daily/weekly summaries, configurable CSV exports, overlap-safe corrections and revocable administrator sessions.

This summary is reconciled from the current catalog and repository documentation.

Features in v1.1.0

Capabilities below come from the current project README and release documentation.

01

PlainPunch is a small self-hosted time clock without surveillance. Employees make explicit clock-in, clock-out, and break punches; they can review their own history and request corrections. Administrators review those requests, export CSV records, and retain an immutable audit trail of every material action.

02

It deliberately does not track location, screenshots, keystrokes, browser activity, applications, or productivity scores.

Verified examples

Screenshots are shown only when the current README references a local source image. Otherwise, repository example files are linked directly.

Verified release evidence

This project does not currently publish a screenshot or dedicated example folder. The current README, tests, changelog, tagged release, and source repository remain the verified examples of its behavior.

Platforms and implementation

The public release claims only the cataloged platforms and technologies.

Supported platforms

  • Windows
  • macOS
  • Linux
  • Docker

Built with

  • Python
  • Flask
  • SQLite
  • Docker

What changed in v1.1.0

Add local-date daily/weekly summaries, configurable CSV exports, overlap-safe corrections and revocable administrator sessions.

Admin → Work summaries selects inclusive date ranges (maximum 366 days), daily or Monday-start weekly grouping, CSV columns and separators. UTC interval clipping handles daylight-saving days; breaks and overlapping work are counted once. Correction requests reject invalid/ambiguous wall times, overlapping shifts and duplicate pending requests, with approval-time overlap revalidation. Explicit offset ISO input resolves repeated hours. Punch and correction approval writes serialize through SQLite. Administrator idle expiry and per-user session revocation preserve accounts and audit events. A forward migration adds session_version without removing data. Deployment guidance covers HTTPS, secure cookies, trusted proxies and rate limits; no proxy deployment is claimed. This is a time summary, not a payroll rules engine.

See [deployment controls](docs/deployment-controls.md). Validation includes strict typing, the complete test suite and the 90% coverage gate.

Quick start

The shortest documented path into the current release.

cp .env.example .env
# Replace PLAINPUNCH_SECRET_KEY and set your timezone in .env.
docker compose up -d --build
docker compose exec app plainpunch --database /data/plainpunch.sqlite3 create-admin \
  --name "Administrator" --email admin@example.org --employee-code ADMIN

Open http://localhost:8080. Put TLS and rate limiting in front of the service before exposing it outside a trusted network.

Current limitations

These boundaries are part of the product and prevent the page from implying unverified capability.

The current v1.1.0 release is bounded by the behavior documented in its README and changelog. It does not claim unsupported platforms, automatic interpretation, or results beyond the evidence it produces.

Privacy and licensing

Review the actual data boundary before using a tool with sensitive inputs.

Privacy and safety

Passwords and kiosk PINs use Werkzeug's scrypt password hashes. State-changing HTTP requests require session-bound CSRF tokens. Cookies are HTTP-only and SameSite=Lax; production deployments should set PLAINPUNCH_SECURE_COOKIES=1 behind HTTPS. The application makes no third-party analytics or telemetry requests.

PlainPunch is not a payroll processor and does not encode jurisdiction-specific overtime, rounding, leave, scheduling, or record-retention rules. Operators remain responsible for legal review, backups, access control, incident response, and accurate payroll practices.

License and release

PlainPunch is published under MIT. The current cataloged release is v1.1.0, published 2026-09-07.

Related projects

Related projects are selected deterministically from shared catalog tags, category, and implementation technologies—not popularity or paid placement.

Current public release

PlainPunch v1.1.0

Use the tagged release for downloads and release notes. Use the repository for source, issues, contribution guidance, security reporting, and complete documentation.

Page source: current Forge catalog plus README and CHANGELOG from the canonical local repository. Fingerprint: b4db3db5f0438f03.