Unsolved Catalogue · no. 2389 · class A · priority 7.4 · open

Francesco Pandolfini, Florentine orator in France, Oct 1514 - Mar 1515: six cipher letters and copies with no decipherment found, beside about fifteen cipher/decipherment pairs of the same system in MAP LXXII

A full key can be rebuilt from the pairs, and the seven letters read; the embassy covers Louis XII's last months, Francis I's accession and the run-up to Marignano.

Date
Jan 1514 (st. fior.) - Feb 1515 and Sept-Dec 1514
Correspondents
Francesco Pandolfini, orator at the French court -> the Otto di Pratica / Lorenzo de' Medici (duke of Urbino)
Place
Paris
Language
Italian (letter/digit cipher with superscript figures, between clear passages)
Held at
Archivio di Stato di Firenze, Mediceo avanti il Principato, filza LXXII, docs. 307, 309, 310, 311, 322, 333 · 307 (c. 369, copy to the Otto di Pratica of 16 Feb 1514 st. fior., with a clear note to Lorenzo of 16 Feb): about 25 cipher lines; 309 (cc. 378/383, to Lorenzo in Rome, Paris 26 Feb 1514 st. fior.): about 10 lines; 310 (cc. 380-381, copy to the Otto, 25 Feb - 2 Mar): about 70 lines; 311 (cc. 382/379, continuation to the Otto, "Tenuta a di iiij"): nearly two sides; 322 (c. 401, "Copia di 2 cap. scripti ad Roma sotto di 20 d'ottobre" 1514): two blocks of 7 and one of 2 lines; 333 (cc. 417/427, to Lorenzo in Rome, Paris 27 Dec 1514): 3 lines. 297 (copy to the Otto, 22 Jan 1514 st. fior.) was dropped from this lead: its decipherment is very probably LXXII 368 (see vetting).
Images
MAP filza 72, doc. 297 · image id 79828 · image id 79829 · MAP filza 72, doc. 307 · image id 79856 · image id 79857 · MAP filza 72, doc. 309 · image id 79864 · image id 79865 · image id 79866 · image id 79867 · MAP filza 72, doc. 310 · image id 79868 · image id 79869 · image id 79870 · image id 79871 · MAP filza 72, doc. 311 · image id 79872 · image id 79873 · MAP filza 72, doc. 322 · image id 79910 · image id 79911 · MAP filza 72, doc. 333 · image id 79946 · image id 79947 · image id 79948 · image id 79949

Hand this page to your AI agent

Give your agent (Claude, ChatGPT or any assistant that can open web pages) this address and ask it to do the task on the page:

https://cyphersolver.com/solve/2389.html

Or copy the block below into the chat. It is the whole task: what the cipher is, where the images are, what has been tried, the steps, and how to report back.

TASK: help read Unsolved Catalogue no. 2389 of the cyphersolver project
This page: https://cyphersolver.com/solve/2389.html

You are helping a public research project read historical cipher letters that nobody has read yet.

THE CIPHER
  Title:          Francesco Pandolfini, Florentine orator in France, Oct 1514 - Mar 1515: six cipher letters and copies with no decipherment found, beside about fifteen cipher/decipherment pairs of the same system in MAP LXXII
  Date:           Jan 1514 (st. fior.) - Feb 1515 and Sept-Dec 1514
  Correspondents: Francesco Pandolfini, orator at the French court -> the Otto di Pratica / Lorenzo de' Medici (duke of Urbino)
  Place:          Paris
  Language:       Italian (letter/digit cipher with superscript figures, between clear passages) (expected)
  Held at:        Archivio di Stato di Firenze, Mediceo avanti il Principato, filza LXXII, docs. 307, 309, 310, 311, 322, 333; 307 (c. 369, copy to the Otto di Pratica of 16 Feb 1514 st. fior., with a clear note to Lorenzo of 16 Feb): about 25 cipher lines; 309 (cc. 378/383, to Lorenzo in Rome, Paris 26 Feb 1514 st. fior.): about 10 lines; 310 (cc. 380-381, copy to the Otto, 25 Feb - 2 Mar): about 70 lines; 311 (cc. 382/379, continuation to the Otto, "Tenuta a di iiij"): nearly two sides; 322 (c. 401, "Copia di 2 cap. scripti ad Roma sotto di 20 d'ottobre" 1514): two blocks of 7 and one of 2 lines; 333 (cc. 417/427, to Lorenzo in Rome, Paris 27 Dec 1514): 3 lines. 297 (copy to the Otto, 22 Jan 1514 st. fior.) was dropped from this lead: its decipherment is very probably LXXII 368 (see vetting).
  Images/records:
    - MAP filza 72, doc. 297: https://archiviodistatofirenze.cultura.gov.it/map/ricerca/ricerca-su-filza/?f=72&d=297&c=
    - image id 79828: https://archiviodistatofirenze.cultura.gov.it/map/riproduzione/?id=79828
    - image id 79829: https://archiviodistatofirenze.cultura.gov.it/map/riproduzione/?id=79829
    - MAP filza 72, doc. 307: https://archiviodistatofirenze.cultura.gov.it/map/ricerca/ricerca-su-filza/?f=72&d=307&c=
    - image id 79856: https://archiviodistatofirenze.cultura.gov.it/map/riproduzione/?id=79856
    - image id 79857: https://archiviodistatofirenze.cultura.gov.it/map/riproduzione/?id=79857
    - MAP filza 72, doc. 309: https://archiviodistatofirenze.cultura.gov.it/map/ricerca/ricerca-su-filza/?f=72&d=309&c=
    - image id 79864: https://archiviodistatofirenze.cultura.gov.it/map/riproduzione/?id=79864
    - image id 79865: https://archiviodistatofirenze.cultura.gov.it/map/riproduzione/?id=79865
    - image id 79866: https://archiviodistatofirenze.cultura.gov.it/map/riproduzione/?id=79866
    - image id 79867: https://archiviodistatofirenze.cultura.gov.it/map/riproduzione/?id=79867
    - MAP filza 72, doc. 310: https://archiviodistatofirenze.cultura.gov.it/map/ricerca/ricerca-su-filza/?f=72&d=310&c=
    - image id 79868: https://archiviodistatofirenze.cultura.gov.it/map/riproduzione/?id=79868
    - image id 79869: https://archiviodistatofirenze.cultura.gov.it/map/riproduzione/?id=79869
    - image id 79870: https://archiviodistatofirenze.cultura.gov.it/map/riproduzione/?id=79870
    - image id 79871: https://archiviodistatofirenze.cultura.gov.it/map/riproduzione/?id=79871
    - MAP filza 72, doc. 311: https://archiviodistatofirenze.cultura.gov.it/map/ricerca/ricerca-su-filza/?f=72&d=311&c=
    - image id 79872: https://archiviodistatofirenze.cultura.gov.it/map/riproduzione/?id=79872
    - image id 79873: https://archiviodistatofirenze.cultura.gov.it/map/riproduzione/?id=79873
    - MAP filza 72, doc. 322: https://archiviodistatofirenze.cultura.gov.it/map/ricerca/ricerca-su-filza/?f=72&d=322&c=
    - image id 79910: https://archiviodistatofirenze.cultura.gov.it/map/riproduzione/?id=79910
    - image id 79911: https://archiviodistatofirenze.cultura.gov.it/map/riproduzione/?id=79911
    - MAP filza 72, doc. 333: https://archiviodistatofirenze.cultura.gov.it/map/ricerca/ricerca-su-filza/?f=72&d=333&c=
    - image id 79946: https://archiviodistatofirenze.cultura.gov.it/map/riproduzione/?id=79946
    - image id 79947: https://archiviodistatofirenze.cultura.gov.it/map/riproduzione/?id=79947
    - image id 79948: https://archiviodistatofirenze.cultura.gov.it/map/riproduzione/?id=79948
    - image id 79949: https://archiviodistatofirenze.cultura.gov.it/map/riproduzione/?id=79949

WHAT IS KNOWN
  Status: No gloss on these pages (contact sheet and 800 px), and the paging matched none of them with a filed clear text; some may be covered by the unheaded clear copies 284, 306, 316, 332, 337, 344, 347, 350, 365-366 and 419 (not aligned). Pairs in the filza: 281/285, 287/288, 290/291-292, 293/335, 308 (glossed)/313, 315/316, 317/348, 320/321, 330/331, 334/332, 338/339, 340/341, 342/343, 346/345, 349/348; glossed 318, 319; decipherments 368 ("Decifrato ... a Lorenzo"), 366 ("tratti di cifra"). The first pass recorded 215 (1514, interlinear) as the key text of this system.
  Outcome so far: not yet attempted by the project
  Prior-art check: open as far as checked (6 Nov 2026): known.py finds nothing on the filza and document; not flagged as cipher in the MAP inventory (vol. 3, archive.org OCR); DECODE dumps in the repo have no ASF MAP ciphertext record; Tomokiyo and Lasry not searched in this run. Marco Vito (Vienna) works on encrypted MAP letters of 1486-1491 (research/medici_bia/README.md): check overlap.
  Check first: Align 287 with 288 and 342 with 343 to rebuild the table (superscripts as homophone marks); read the seven; check each against the unheaded clear copies first.
  Class A: a sibling letter with a decipherment is in the same volume or series, so matching it is the first move.

STEPS
0. Set up. If you can run a shell, fork and clone the repository and work inside it:
     git clone https://github.com/dbourdeau/cyphersolver.git
   Then read, in this order: CONTRIBUTING.md (how a contribution is sent and credited); README.md, sections
   "Repository layout" and "Conventions" (how readings are measured and named); and
   lang/README.md (shared language models).
   Put all your work in targets/<writer><year>/ (a new folder, e.g. sega1593): transcription, key, decipherment, scripts. Write a NOTES.md that says
   what the document is, the system, the key, the reading, and what is open and why. Keep WORKLOG.md there too:
   one dated line per step (transcription, hypothesis, solver run, crib, key found, control), failures included.
   Do not edit docs/ (the site is generated and rebuilt on merge) and do not commit large images: link them.
   If you cannot run a shell, do the same work in files you keep and send them with the issue below.
1. Make sure it is still unread. Search the web and the literature for the shelfmark, the correspondents and the date:
   printed editions and calendars of the correspondence, Satoshi Tomokiyo's cryptiana pages
   (https://cryptiana.web.fc2.com/), the DECODE record and the files attached to it, and the project notes above.
   If a decipherment already exists, stop and report where it is. That is a useful result.
2. Get the images. For Gallica items, a page image is
   https://gallica.bnf.fr/iiif/ark:/12148/<ark>/f<page>/full/full/0/native.jpg (page numbers from the manifest).
   DECODE records (de-crypt.org) need a free account: if you cannot log in, ask your human to download the images for you.
3. Look for key material before attacking the ciphertext, in this order: a decipherment written between the lines or
   in the margin; a clear copy or a deciphered sibling letter in the same volume or DECODE series; a key sheet from the
   same office and years (DECODE key records, Tomokiyo's articles, printed editions); clear passages in the letter
   itself that can serve as a crib.
4. Transcribe exactly what is on the page: one token per sign or number group, line by line, with folio and line
   numbers, unclear signs marked with ?. Keep the transcription as a file. It is worth sending even if nothing else works.
5. If no key exists, identify the system (count the distinct symbols, tokens and repeats: simple or homophonic
   substitution, nomenclator with code words, syllabary, two-digit figures) and recover the key from the ciphertext
   with a solver scored on a language model of the period (Italian (letter/digit cipher with superscript figures, between clear passages)). In the clone, use the shared models in lang/
   (from lang import lm; lm.load('<model>'), lm.best_language(text)) rather than building your own; add a corpus there
   if none fits. Before trusting a result, run the same solver on a control text you encipher yourself in the same
   system and at the same length. If it cannot solve the control, its output on the real letter means nothing.
6. Measure the result against the project's bar (README.md, Conventions). A text is "complete" only when (1) at least
   95% of its cipher tokens give sense, counted from a reading file, not estimated; (2) no gap is left untried;
   (3) every letter in the item is covered; (4) what stays open is scattered code groups or names, or pieces blocked
   from outside (no key material, too short, illegible, needs the archive). Otherwise it is "partial": say which
   pieces are open and why. Mark every uncertain word with [?] and leave unread groups as their numbers or signs.
   Never fill gaps with plausible guesses. A failed attempt that records what was ruled out is still a contribution.
7. Name how the text was obtained with one of the project's methods (do not write just "solved" or "read"):
     - ciphertext-only break: The key was rebuilt from the ciphertext alone: frequencies, solvers, pattern words, the order of the key. No plaintext and no existing key was used. If someone had solved the same text earlier and it was found only afterwards, the write-up says so: an independent re-solution.
     - key from external plaintext: The key was rebuilt by matching the ciphertext against a plaintext found elsewhere: a printed edition, a calendar of state papers, a copy of the same letter in another archive.
     - key from adjacent plaintext: The key was rebuilt from plaintext next to the ciphertext: a partial decipherment written between the lines or in the margin, clear passages in the same letter, a deciphered copy in the same file.
     - external key matched: An existing key that had not been connected with this document (a key for another correspondent or series, a key sheet filed elsewhere) was found to fit, and applied.
     - known key applied: The key was already identified for this document or its correspondence (on its archive or DECODE record, published for it, filed with it) and was applied. The work is transcription and decipherment, which is not mechanical when the key is polyphonic or variable-length.
     - existing decipherment: A complete decipherment already existed (between the lines, on a separate copy, or in print). The work was transcribing the cipher and checking the decipherment against it.
     - not solved: Attempted; neither the key nor the text was obtained. What was learned is recorded. A target whose key was obtained but whose text does not read keeps the method that obtained the key, with extent "none (text not read)".
     - not applicable: Not a cipher (clear text, shorthand, a key sheet, instructions), or the item could not be reached.

REPORT BACK
With a clone: open a pull request with your targets/<writer><year>/ folder. Say in the description how you want to be
  credited (name, initials or handle, and a link) and include the same points as the issue below.
Without one: open an issue: https://github.com/dbourdeau/cyphersolver/issues/new?template=solution.yml&title=Solution%3A+catalogue+2389&target=catalogue+2389
(other kinds of contribution: https://github.com/dbourdeau/cyphersolver/issues/new/choose). Include:
  - Target: catalogue 2389
  - the documents and the images you worked from;
  - the key: sign-to-value table, code groups with values, nulls;
  - the decipherment line by line against the ciphertext, with uncertain passages marked;
  - the method (step 7), the share of tokens that give sense, complete or partial (step 6), and whether the
    reading was already published anywhere;
  - your step log (WORKLOG.md), and the tools and the AI model you used.
If you cannot open issues or pull requests, write this report for your human to send. Credit goes to the person who sends it.

Where the cipher is

Cipher located and confirmed. Latin letters and digits with superscript figures 1-5 (e.g. 307 "or w y we r w g 7 φ q r 4 y S F S x φ 7 t ...", 333 "3 4 φ 2 y 3 3 5 3 c L ..."), with dotted numeral groups ("3.20.", "3.c.2."). No gloss on any of the six. Filed clear texts checked by heading and date: 284 copy of 2 Jan 1515; 306 copy of 28 Jan; 313 copy of 20 Feb (clear text of 308); 316 paired with 315; 332 copy of 27 Dec 1514 to the Otto = decipherment of 334 (the Otto letter), not of 333's covering-note lines; 337 copy of 2x Mar 1515; 344 and 350 copies of Apr and later 1515; 365 extract "tratte di cifra" of 2x Mar 1515; 366 extract of 6 Oct 1514 (Abbeville) and "Copia de capitoli scripti a Roma tratti di cifra" (c. 469, about 45 lines on the Milan enterprise, far longer than 322 and with none of 322's clear frame: archdeacon, Rocciafort, Alfonso Ariosti); 368 "Decifrato" of letters of the 21st to Lorenzo and the 22nd to the Otto; 419 copy of 6 Dec 1514. None deciphers 307, 309, 310, 311, 322 or 333. 368 matches 297 (to the Otto, 22 Jan 1515: 309 and 310 show Pandolfini wrote to Lorenzo on 20 Feb and to the Otto on 20 and 25 Feb, so the 21st/22nd must be January; 297 has about 280 cipher signs for 368's second text of about 600 letters, roughly the ratio of the cipher in 334 to the clear text in 332), so 297 is taken out of the lead. (ASF MAP LXXII at the server maximum (1256-1400 px), 6 Nov 2026: 307 https://archiviodistatofirenze.cultura.gov.it/iipsrv/iipsrv.fcgi?IIIF=/data/iip-data/asfi/mediceo_avanti_principato/00100072/A0000747.ptif-750; 309 A0000755-758; 310 A0000759-762; 311 A0000763-766; 322 A0000801-802; 333 A0000837-840; 297 A0000719-720; the filza's clear copies and decipherments 284 (A0000675), 306 (745), 313 (771), 316 (783), 332 (833), 334 (841), 337 (849), 344 (877), 347 (887), 350 (897), 365 (935), 366 (939, 941-942), 368 (947-948), 419 (1067); checked 2026-11-06 by claude leads review batch n19) open that page

What is known

Status and prior art. No gloss on these pages (contact sheet and 800 px), and the paging matched none of them with a filed clear text; some may be covered by the unheaded clear copies 284, 306, 316, 332, 337, 344, 347, 350, 365-366 and 419 (not aligned). Pairs in the filza: 281/285, 287/288, 290/291-292, 293/335, 308 (glossed)/313, 315/316, 317/348, 320/321, 330/331, 334/332, 338/339, 340/341, 342/343, 346/345, 349/348; glossed 318, 319; decipherments 368 ("Decifrato ... a Lorenzo"), 366 ("tratti di cifra"). The first pass recorded 215 (1514, interlinear) as the key text of this system.

Outcome so far. Not yet attempted by the project. Prior-art check: open as far as checked (6 Nov 2026): known.py finds nothing on the filza and document; not flagged as cipher in the MAP inventory (vol. 3, archive.org OCR); DECODE dumps in the repo have no ASF MAP ciphertext record; Tomokiyo and Lasry not searched in this run. Marco Vito (Vienna) works on encrypted MAP letters of 1486-1491 (research/medici_bia/README.md): check overlap..

Check first. Align 287 with 288 and 342 with 343 to rebuild the table (superscripts as homophone marks); read the seven; check each against the unheaded clear copies first.

Scores

Importance
3 of 5
Solvability
5 of 5
Difficulty
2 of 5
Class A
a sibling letter with a decipherment is in the same volume or series, so matching it is the first move
Note
Scored from the images viewed during the MAP paging pass, 6 Nov 2026 (research/sweep_2026-11_asf_map_paging/)

Send a result

A reading, a partial reading, a transcription, or a source that shows it was read long ago: all of it counts and is credited to you on the site.

Open a solution issueOther kinds of reportHow credit works← All unsolved ciphers