API Reference

S3 Bucket Replication

Automatically replicate your S3 bucket to Simple Proof for immutable timestamping on the Bitcoin blockchain via OpenTimestamp.

Overview

This guide walks you through setting up S3 bucket replication to Simple Proof. Once configured, all objects uploaded to your source bucket will be automatically replicated and timestamped on Bitcoin's blockchain, providing cryptographic proof of existence.

Prerequisites

  • Active AWS account with S3 access
  • Existing S3 bucket (source bucket)
  • Email access to communicate with Simple Proof support

Quick Setup Guide

Step 1: Request Simple Proof Configuration

Contact Simple Proof support to obtain the necessary credentials and configuration:

Email: [email protected]

Subject: S3 Bucket Replication Setup Request

Dear Simple Proof Team,

I would like to set up S3 bucket replication for blockchain timestamping.

Required Information:
- Organization/Company Name: [Your organization]
- Source S3 Bucket Name: [your-existing-bucket-name]
- Source Bucket Region: [e.g., us-east-1]
- Estimated Monthly Volume: [approximate file count/size]
- Use Case: [brief description]

Please provide:
- Destination bucket details
- IAM roles and policies
- Replication configuration instructions

Best regards,
[Your Name]
[Contact Email]

Response Time: Typically 24-48 business hours

Step 2: Create IAM Role for Replication

  1. Navigate to IAMRolesCreate role
  2. Select AWS serviceS3
  3. Attach policy: AmazonS3ReplicationServiceRole
  4. Role name: S3ReplicationRole
  5. Create the role

Step 3: Configure Trust Policy

Edit the role's trust policy:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "s3.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

Step 4: Add Custom Replication Policy

Create and attach a custom policy using the JSON provided by Simple Proof:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObjectVersionForReplication",
        "s3:GetObjectVersionAcl"
      ],
      "Resource": "arn:aws:s3:::your-source-bucket/*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:ReplicateObject",
        "s3:ReplicateDelete"
      ],
      "Resource": "arn:aws:s3:::simpleproof-destination-bucket/*"
    }
  ]
}

Note: Replace bucket ARNs with actual values provided by Simple Proof

Step 5: Configure S3 Replication Rule

  1. Open your source S3 bucket
  2. Go to ManagementReplicationCreate replication rule
  3. Configure the rule:

Rule Configuration:

  • Rule name: SimpleProofReplication
  • Status: Enabled
  • Priority: 1

Source Configuration:

  • Apply to all objects (or configure filters as needed)

Destination:

  • Destination type: As specified by Simple Proof
  • Bucket name: Use exact name provided by Simple Proof
  • Storage class: Standard-IA (cost optimized)

IAM Role:

  • Select the S3ReplicationRole created earlier

Additional Settings:

  • ✅ Replicate encrypted objects
  • ✅ Replica modification sync (if available)
  • ❌ Delete marker replication (recommended)
  1. Save the replication rule

Verification

Test Replication

  1. Upload a test file to your source bucket
  2. Verify the file appears in the Simple Proof destination bucket
  3. Confirm with Simple Proof that timestamping is working

Monitor Replication

  • Check S3 MetricsReplication metrics
  • Verify status shows "Completed"
  • Monitor CloudWatch for replication events

Simple Proof Timestamping Process

Once replication is active, Simple Proof automatically:

  1. Detects new replicated objects
  2. Generates SHA-256 hash of file content
  3. Submits hash to OpenTimestamp
  4. Records proof on Bitcoin blockchain
  5. Provides verification certificates

Timestamp Verification

For each timestamped file, you'll receive:

  • .ots file: OpenTimestamp certificate
  • File hash: SHA-256 for verification
  • Timestamp: Exact blockchain inclusion time
  • Bitcoin transaction ID: Blockchain reference

Configuration Checklist

  • Email sent to [email protected]
  • Received destination bucket details from Simple Proof
  • Created S3ReplicationRole with proper policies
  • Configured replication rule in source bucket
  • Tested replication with sample file
  • Verified timestamping is working

Troubleshooting

Replication not working:

  • Verify IAM role permissions
  • Check destination bucket exists and is accessible
  • Review replication rule configuration

Permission errors:

  • Confirm trust policy is correctly configured
  • Ensure Simple Proof provided correct bucket permissions

High costs:

  • Review destination storage class settings
  • Consider lifecycle policies for long-term storage
  • Monitor cross-region transfer charges

Support


For additional configuration options or enterprise features, contact Simple Proof support.