The BagIt File Packaging Format (V1.0)
RFC 8493

Document Type RFC - Informational (October 2018; Errata)
Was draft-kunze-bagit (individual)
Last updated 2018-11-21
Stream ISE
Formats plain text pdf html bibtex
IETF conflict review conflict-review-kunze-bagit
Stream ISE state Published RFC
Consensus Boilerplate Unknown
Document shepherd Adrian Farrel
Shepherd write-up Show (last changed 2018-07-12)
IESG IESG state RFC 8493 (Informational)
Telechat date
Responsible AD (None)
Send notices to (None)
IANA IANA review state Version Changed - Review Needed
IANA action state No IANA Actions
Independent Submission                                          J. Kunze
Request for Comments: 8493                    California Digital Library
Category: Informational                                       J. Littman
ISSN: 2070-1721                                       Stanford Libraries
                                                               E. Madden
                                                     Library of Congress
                                                            J. Scancella

                                                                C. Adams
                                                     Library of Congress
                                                            October 2018

                 The BagIt File Packaging Format (V1.0)

Abstract

   This document describes BagIt, a set of hierarchical file layout
   conventions for storage and transfer of arbitrary digital content.  A
   "bag" has just enough structure to enclose descriptive metadata
   "tags" and a file "payload" but does not require knowledge of the
   payload's internal semantics.  This BagIt format is suitable for
   reliable storage and transfer.

Status of This Memo

   This document is not an Internet Standards Track specification; it is
   published for informational purposes.

   This is a contribution to the RFC Series, independently of any other
   RFC stream.  The RFC Editor has chosen to publish this document at
   its discretion and makes no statement about its value for
   implementation or deployment.  Documents approved for publication by
   the RFC Editor are not candidates for any level of Internet Standard;
   see Section 2 of RFC 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   https://www.rfc-editor.org/info/rfc8493.

Kunze, et al.                 Informational                     [Page 1]
RFC 8493                          BagIt                     October 2018

Copyright Notice

   Copyright (c) 2018 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.

Kunze, et al.                 Informational                     [Page 2]
RFC 8493                          BagIt                     October 2018

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   4
     1.1.  Purpose . . . . . . . . . . . . . . . . . . . . . . . . .   4
     1.2.  Requirements  . . . . . . . . . . . . . . . . . . . . . .   4
     1.3.  Terminology . . . . . . . . . . . . . . . . . . . . . . .   5
   2.  Structure . . . . . . . . . . . . . . . . . . . . . . . . . .   6
     2.1.  Required Elements . . . . . . . . . . . . . . . . . . . .   6
       2.1.1.  Bag Declaration: bagit.txt  . . . . . . . . . . . . .   6
       2.1.2.  Payload Directory: data/  . . . . . . . . . . . . . .   7
       2.1.3.  Payload Manifest: manifest-algorithm.txt  . . . . . .   7
     2.2.  Optional Elements . . . . . . . . . . . . . . . . . . . .   8
       2.2.1.  Tag Manifest: tagmanifest-algorithm.txt . . . . . . .   8
       2.2.2.  Bag Metadata: bag-info.txt  . . . . . . . . . . . . .   9
       2.2.3.  Fetch File: fetch.txt . . . . . . . . . . . . . . . .  12
       2.2.4.  Other Tag Files . . . . . . . . . . . . . . . . . . .  12
     2.3.  Text Tag File Format  . . . . . . . . . . . . . . . . . .  13
     2.4.  Bag Checksum Algorithms . . . . . . . . . . . . . . . . .  13
   3.  Complete and Valid Bags . . . . . . . . . . . . . . . . . . .  14
   4.  Examples  . . . . . . . . . . . . . . . . . . . . . . . . . .  15
     4.1.  Example of a Basic Bag  . . . . . . . . . . . . . . . . .  15
     4.2.  Example Bag Using fetch.txt . . . . . . . . . . . . . . .  16
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .  16
     5.1.  Special Directory Characters  . . . . . . . . . . . . . .  16
     5.2.  Control of URLs in fetch.txt  . . . . . . . . . . . . . .  17
     5.3.  File Sizes in fetch.txt . . . . . . . . . . . . . . . . .  17
     5.4.  Attacks on Payload File Content . . . . . . . . . . . . .  17
   6.  Practical Considerations (Non-normative)  . . . . . . . . . .  17
     6.1.  Interoperability  . . . . . . . . . . . . . . . . . . . .  17
       6.1.1.  Filename Normalization  . . . . . . . . . . . . . . .  18
       6.1.2.  Windows and Unix File Naming  . . . . . . . . . . . .  18
       6.1.3.  Legacy Checksum Tools . . . . . . . . . . . . . . . .  18
   7.  Augmented Backus-Naur Form (Non-normative)  . . . . . . . . .  21
     7.1.  Bag Declaration: bagit.txt  . . . . . . . . . . . . . . .  21
Show full document text