=== PallasMark – Packing Video & Photo Recorder for WooCommerce ===
Contributors: pallasmark
Tags: woocommerce, chargeback, packing, returns, evidence
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
WC requires at least: 9.0
WC tested up to: 10.9
Stable tag: 1.2.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Record packing video and photo proof for every WooCommerce order on any phone: sealed, verifiable, buyer-approved and dispute-ready.

== Description ==

PallasMark records how every WooCommerce order is packed, on the phones your team already has,
and turns it into evidence a buyer, a bank or a marketplace can check: video and photos tied to
that exact order, sealed with a SHA-256 fingerprint, with a public verification page that needs no
account.

https://www.youtube.com/watch?v=TZd1sOl1SD8

**Connect in one click.** After activation PallasMark opens with one button: **Connect with
PallasMark**. Already a customer? Sign in and approve. New? Your account is created on the way with
your store details filled in; you only choose a password. Orders sync and proof shows on your orders
automatically, with no keys or codes to copy.

**How it works**

1. A new order arrives in PallasMark on its own.
2. The packer scans the packing slip or shipping label; the right order opens.
3. Packers manually capture proof: the item, its condition, the label and the box closing, in one
   take. The file is sealed on upload.
4. The proof status and link appear on the WooCommerce order.
5. When an order is questioned, share the verification link or an evidence PDF.

**What you get**

* **Video and photo proof per order** on iPhone, Android or a browser. No cameras, no pack-station
  PC, no per-station fees.
* **Tamper evidence.** A SHA-256 fingerprint on every stored file and a public page that re-checks
  it whenever someone opens it.
* **Buyer approval before dispatch.** Send the sealed recording with one tap; the buyer watches in
  the browser (seven languages) and approves or reports an issue. Watch time is recorded.
* **Return evidence.** One tap asks the buyer to film the returned item and its packaging.
* **Dispute-ready PDF** with stills from each video, fingerprints, approval and return evidence,
  for Stripe, PayPal, WooPayments or a carrier claim. Dispute forms take documents, not video.
* **Proof on the order.** A private order note, hidden order meta and buyer-visible links when you
  choose to optionally share them.
* **Warehouses and 3PLs.** Receiving, packing and loading records per shipment, pallet, lot,
  facility and client brand, with AI label reading on the Scale plan.

**Video tutorials**

* [PallasMark in 40 seconds](https://www.youtube.com/watch?v=X2MJwZz0MX4)
* [Set up packing video proof in 5 minutes](https://www.youtube.com/watch?v=EdFSPaOOav4)
* [Record your first packing proof on your phone](https://www.youtube.com/watch?v=-HdZ6C19Pt8)
* [Packing video that counts as evidence: 7-point checklist](https://www.youtube.com/watch?v=JaCYSbyeUiQ)
* ["The box was empty": how sellers prove what they packed](https://www.youtube.com/watch?v=wojpC08V8wU)
* [All videos](https://www.youtube.com/@pallasmark)

**What the plugin adds to WooCommerce**

* A **PallasMark** admin page: one-click connect, a live checklist (order sync, proof on orders,
  first proof) with a one-click fix for each item, app QR codes and video tutorials.
* `order.created` / `order.updated` webhooks (`wp_api_v3`) registered without duplicates.
* A read-only **PallasMark evidence** panel on classic and HPOS order screens, customer order
  links and the `[pallasmark_order_evidence]` shortcode.
* Authenticated exact lookup for order numbers, tracking values, SKUs and barcodes (SHA-256 lookup
  hashes).

**External service disclosure:** PallasMark is a hosted Software as a Service product. This plugin
talks to it in two distinct ways:

1. *Support telemetry (optional).* It is off by default. If a store manager opts in, at most once
   every 24 hours the plugin sends this site's public URL and plugin/WordPress/WooCommerce version
   numbers. It sends no order, customer, or product data and can be turned off at any time.
2. *Store connection (explicit, your click).* **Connect with PallasMark** opens PallasMark with
   this site's URL, site name and your email to fill in sign-in or sign-up. After you approve, the
   plugin exchanges a one-time token for a webhook secret, configures WooCommerce order webhooks
   and gives PallasMark a read/write WooCommerce REST key (to write proof onto orders). Webhook
   payloads can include customer, billing, shipping, product, and order-status data.

Use of the service is subject to the
[PallasMark Terms of Service](https://pallasmark.com/en/legal/terms) and
[Privacy Policy](https://pallasmark.com/en/legal/privacy).

== Privacy ==

This plugin sends data to the PallasMark URL configured on its settings page (the default is
`https://app.pallasmark.com`) in the situations described above:

* **Only after optional support telemetry is enabled:** a throttled daily heartbeat containing this
  site's URL (`home_url()`) and plugin/WordPress/WooCommerce version numbers only.
* **After you click "Connect with PallasMark":** site URL, site name and your email (to prefill the
  form), the one-time token exchange, a read/write REST key for PallasMark and, while connected,
  WooCommerce order webhook payloads that can include order/customer data.
* **When PallasMark searches after a scan:** the scanned identifier is sent in an authenticated
  request body. The plugin's local lookup table stores only its SHA-256 hash; the identifier is
  not put in request URLs or stored as plain text by the index.

Deactivation, uninstall, and the explicit Disconnect action remove this plugin's WooCommerce
webhooks and local connection credentials, stopping new order delivery. Existing evidence in
PallasMark is retained. Uninstall also removes the optional telemetry preference.

== Installation ==

1. Install the plugin from **Plugins → Add New** and activate it. The PallasMark page opens.
2. Click **Connect with PallasMark**, sign in (or choose a password for your new account) and
   click **Connect store**. You return to WordPress connected.
3. Scan the QR code on the page to put the app on your packing phones.

== Frequently Asked Questions ==

= Do I need special cameras or a packing station? =

No. Packers record on the iPhones and Android phones they already have, or in a browser. Scanning
the order's barcode opens the right order before the first frame.

= Can a buyer or a bank check that a video was not edited? =

Yes. Every stored file has a SHA-256 fingerprint and a public verification page that re-hashes it.
No account or login is needed.

= Can the buyer approve the parcel before it ships? =

Yes. Send the sealed recording with one tap. The buyer watches and chooses Approve or Report an
issue; the decision and watch time are saved. You decide when to ship.

= What do I upload in a Stripe, PayPal or WooPayments dispute? =

Dispute forms take documents, not video. PallasMark builds an evidence PDF with four stills from
each video, order details, fingerprints and any approval or return evidence. You upload it.

= Does PallasMark record every order automatically? =

Recording starts when a packer scans an order, so your team manually captures proof for the orders
you choose: every order, or only high-value and fragile ones.

= Do I need a PallasMark account? =

Yes. **Connect with PallasMark** creates one for you on the way: your store details are filled in
and you only choose a password.

= What data does the plugin send? =

Optional telemetry (off by default) sends only the store URL and version numbers. Order data is
sent through WooCommerce webhooks only after you connect the store. See Privacy above.

= What happens if I deactivate the plugin? =

The plugin removes its WooCommerce webhooks and local connection credentials, so new order data
stops. Existing evidence in PallasMark is kept.

== Screenshots ==

1. One button connects your store; new merchants get an account on the way.
2. Approve the connection on PallasMark; your store details are already filled in.
3. One page shows what works, what's left (one click each) and the phone apps.
4. Proof status and links on the WooCommerce order, in the PallasMark evidence panel.
5. Scan the order barcode, then record the item, label and seal on any phone.
6. Photograph a label to fill the fields; every photo and video stays on one verifiable timeline.
7. Share the verified proof or an evidence dossier when a claim arrives.

== Changelog ==

= 1.2.0 =
* One-click **Connect with PallasMark**: sign in or sign up (store details prefilled) and approve.
  No tokens to copy; proof write-back turns on automatically.
* One PallasMark page with a live checklist and a one-click fix for each item.
* The page opens right after activation, also when activated from Add Plugins.

= 1.1.0 =
* New step-by-step setup guide after activation: account, store connection, proof write-back,
  app install by QR code and first proof, with live status for each step.
* New name: PallasMark – Packing Video & Photo Recorder for WooCommerce.
* Disconnect now also revokes WooCommerce-named PallasMark REST keys.
* Settings page links to the setup guide; video tutorials added.

= 1.0.10 =
* Clarifies that connect tokens expire after 10 minutes and can be used only once.
* Adds a specific message when a WooCommerce store is already connected to another PallasMark
  account.

Earlier versions (1.0.0–1.0.9, 1.0.11–1.0.13) are listed in `changelog.txt`.

== Upgrade Notice ==

= 1.2.0 =
Connect your store with one click. Existing connections keep working.
