Download the PHP package laravel-chronicle/anchor-s3 without Composer

On this page you can find all versions of the php package laravel-chronicle/anchor-s3. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package anchor-s3

Chronicle S3 Object Lock Anchor

Tests PHPStan Latest Version Total Downloads

An S3 Object Lock (WORM) anchoring adapter for laravel-chronicle/core.

It writes each checkpoint's digest - sha256(id . chain_hash . created_at) - to a locked, versioned S3 object in an independent trust domain. Even an attacker who rewrites the ledger and re-signs every checkpoint with a valid key still cannot alter the locked object, so chronicle:verify --anchors fails on the tampered checkpoint. The proof lives somewhere your application cannot reach, and therefore cannot quietly rewrite.

Installation

The package auto-registers AnchorS3ServiceProvider, which binds a default Aws\S3\S3Client from AWS_DEFAULT_REGION and the standard AWS credential chain.

Choosing a retention mode

Object Lock has two retention modes, and the choice has consequences that are easy to underestimate. Read this before you create a bucket.

Start with GOVERNANCE and short retention. Move to COMPLIANCE deliberately, once you know the bucket is the one you mean. Note that the adapter defaults to GOVERNANCE when mode is unset or unrecognized.

Bucket setup (one-time)

Object Lock requires a versioned bucket created with Object Lock enabled. The example below uses GOVERNANCE, which is the right choice for getting started:

You can set a default retention rule on the bucket, but the adapter applies per-object retention on every write, so this is optional. If you do set one for a production bucket in COMPLIANCE mode, be certain the bucket is the one you intend:

Registration

Enable anchoring and register the provider in your published config/chronicle.php:

New checkpoints are then anchored automatically. You can also anchor on demand and attest stored anchors with the Chronicle Artisan commands - see the documentation for the current command set, since those commands live in the core package.

Required IAM actions

On the anchor bucket (both the bucket ARN and arn:aws:s3:::my-chronicle-anchors/*):

Action Used by Why
s3:PutObject anchor() Write the digest object
s3:PutObjectRetention anchor() Apply per-object Object Lock retention
s3:GetObject verify() Re-read the exact object version
s3:GetObjectVersion verify() Read by VersionId
s3:GetObjectRetention verify() Confirm lock metadata is present

Grant no s3:DeleteObject*. Anchors are write-once by design, and withholding delete permission is a second layer of defense behind the lock itself.

How it works

Because the retention headers travel on the same PutObject that writes the object, S3 rejects the write outright against a bucket without Object Lock - so a misconfigured bucket fails loudly and leaves nothing behind, rather than silently storing a deletable object that could be mistaken for a real anchor.

verify() performs one S3 read; it is deliberately not offline, unlike the core RFC 3161 anchor. That single network read is the price of an independent, account-isolated trust domain, and it is the point of this adapter.

Testing

The suite has three tiers. Only the first runs by default, and it needs nothing installed beyond the package's own dev dependencies.

License

MIT. See LICENSE


All versions of anchor-s3 with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
laravel-chronicle/core Version ^1.11
aws/aws-sdk-php Version ^3.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package laravel-chronicle/anchor-s3 contains the following files

Loading the files please wait ...